当前位置: 首页 > 知识库问答 >
问题:

需要将var值增加1,并且在同一函数AS3-期间多次增加-请检查我的代码

司寇苗宣
2023-03-14

你能看一下我下面的代码吗?每当球没有击中球门区域(这是一场点球大战),我需要将var未命中增加1,但问题是它增加了很多倍,这是跟踪变量值后的输出消息,这样你就可以有一个想法:

这是一个失败1它是一个失败2它是一个失败3它是一个失败4它是一个失败5它是一个失败6它是一个失败7它是一个失败8 8它是一个失败9它是一个失败10等等,我的代码是这样的,我很确定,影响结果所需的线是线阶段。addEventListener(Event.ENTER_FRAME,onEnter);你能给我一些关于如何解决这个问题的建议吗?在moveBall函数中移动球时,可能会尝试另一种方式来移动球?我从你们那里得到了很多帮助,我很抱歉这么烦人,只是我还是一个新手,在我的代码和我迄今为止收集的想法之间的某些点上卡住了。这是我的密码

import flash.events.Event;
import flash.ui.Mouse;
import flash.geom.Point;
import flash.events.MouseEvent;

 var misses:int= 0;//Here the var used trying to put the game over when player misses 3 shoots
var cursor:MovieClip; // mouse will be converted to a cursor (aim) which is the spot ball must follow
var nowX:Number; ;// will be used to move the ball
var nowY:Number;// will be used to move the ball
var isUpdating:Boolean = false; // will be used to control mouse events and other later on
var isClipSync:Boolean = false; // will be used to control mouse events and other later on
const START_BALL_POINT:Point = new Point(296,353); // returning the ball to original positions
function initializeGame():void
 {   
cursor = new Cursor();
addChild(cursor);
cursor.enabled = false;
//Mouse.hide(); 
stage.addEventListener(MouseEvent.CLICK, dragCursor);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onCursorMove);
  }

  function onCursorMove(e:MouseEvent):void
  {
cursor.x = mouseX;
cursor.y = mouseY;
 }

function onEnter(e:Event):void
{
 isUpdating= true;

 if(pateador_mc.currentFrame == 19) 
 {
     pateador_mc.gotoAndStop(1);
 }
 //trace(pateador_mc.currentFrame);
 //

if(pateador_mc.currentFrame > 11)
    isClipSync = true;

 moveBall();
  }


  function dragCursor(event:MouseEvent):void
 {
if(isUpdating) return;

trace(isUpdating);
nowX = mouseX;
nowY = mouseY;

pateador_mc.play();
stage.addEventListener(Event.ENTER_FRAME, onEnter);// probably this is causing        multiple count of trace events when I try to gather the failed shoots
}

initializeGame();
var mouse=this.Mouse;

var speed:int = 800;
var ease:int = 4;
 var gravity:Number = 0.5;
function moveBall()
  {
if(!isClipSync) return;

bola.x += 0.2 * (nowX - bola.x);
bola.y += 0.2 * (nowY - bola.y);

if(Math.abs(nowX-bola.x)<1 && Math.abs(nowY-bola.y)<1) 
{
    stage.removeEventListener(Event.ENTER_FRAME, onEnter);
    isUpdating = false;
    isClipSync = false;
    var timer3:Timer = new Timer(3000,1);
    timer3.addEventListener(TimerEvent.TIMER, accionRepetida3);
    timer3.start();
    function accionRepetida3(e:TimerEvent)
    {
    bola.x = START_BALL_POINT.x;
    bola.y = START_BALL_POINT.y;}
}
if (bola.hitTestObject(goalie))
{

    gol_mc.play();  /// All good at this point
    red_mc.play();

}
//
  else
{

    misses++;
    trace("It's a fail", misses);


}

 }

如果有好朋友能抽出时间来检查,我会非常感激。我保证,当我找到一个更好的程序员时,我会帮助所有需要它的人。

再次感谢!

共有1个答案

卫深
2023-03-14

你能修改你的代码并再次给出输出吗?

trace("It's a fail for barrier3", misses)
trace("It's a fail for barrier2", misses) and so on.
 类似资料:
  • 问题内容: 我有一个现有的日期对象,希望将其增加一天,同时将其他所有字段保持不变。我遇到的每个示例都耗时数小时/分钟/秒,或者您必须创建一个新的日期对象并转移字段。有没有一种方法可以将日字段提前1? 谢谢 编辑:对不起,我并不是说要把当天的值增加一,我的意思是将日期提前1 问题答案: Calendar c = Calendar.getInstance(); c.setTime(yourdate);

  • 导出const ProductCard=({product})=>{const{deleteProduct,addToCart}=useContext(ProductContext) }

  • 我希望百分比每秒增加1%,只需点击增加按钮和减少按钮相同,但百分比每秒减少-1%。现在我的代码是正确的,但它需要在增加按钮上多次点击以达到100%,我只需要一次点击,它会每秒增加1%,直到达到100%,如果点击减少按钮,每秒减少1%。

  • 问题内容: 假设我有一个以下格式的日期:2010-12-11(年一日) 使用PHP,我想将日期增加一个月,并且我希望年份可以在必要时自动增加(即,从2012年12月到2013年1月增加)。 问候。 问题答案:

  • 问题内容: 我有两个时间值。一个用于上次登录时间,一个用于当前登录时间。我必须将以前的登录时间增加一个小时。我使用了日期格式hh:mm:ss。这是我的代码段。 因此,除了上面提到的if条件之外,我还必须在previous_time上增加一个小时,然后执行if条件。如何实现呢? 问题答案:

  • 问题内容: 我的将日期添加一天的代码返回添加日期之前的日期: 添加一天之后的日期应滚动到下个月: 我以前使用过非常相似的代码,我在这里做错了什么? 问题答案: 对于PHP 5.2.0+,您还可以执行以下操作: