问题在于i
的添加。我尝试了++i
,我尝试了i=i+1
以及i.tostring()
和i++
,但我仍然将输出视为
击球!1
如何增加i
?
这是我的代码:
function mousePosition(inputEvent:MouseEvent)
{
var i:Number = 0;
var smiley:MovieClip = new Smiley();
smiley.x = inputEvent.stageX;
smiley.y = inputEvent.stageY;
smiley.addEventListener(Event.ENTER_FRAME, smileyEnterFrame, false, 0, true);
this.addChild(smiley);
// ****************************** BELOW IS THE PROBLEM ******
if (smiley.hitTestObject(RoundButton1) == true)
{i=i+1;
trace("hitting!"+ i);
}
}
答案 0 :(得分:5)
您的变量i
仅在mousePosition
函数中具有范围,因此每次致电mousePosition
时,您宣布新的i
并将其设置为0
}。尝试在函数外声明hitCounter
变量,使其具有全局范围。
var hitCounter:Number = 0;
function mousePosition(inputEvent:MouseEvent)
{
...
if (smiley.hitTestObject(RoundButton1) == true)
{
hitCounter++;
trace('hitting! ' + hitCounter);
}
}
试一试。