每当AS3处于活动状态时将变量加1 1
问题描述:
对于某些人来说,这是一个很容易回答的问题,嘿嘿:每次进入该特定帧时,我怎样才能将变量值增加1?每当AS3处于活动状态时将变量加1 1
我curently有这样的代码运行一次,然后就不会再下一次的时间表是在框架上运行:
// This is at the end of the animation
var DAY = 0;
DAY++;
dayTextField.text = DAY;
gotoAndStop(7); // Go to the beginning and re-loop the animation
我试图做到这一点的代码在一个函数,从运行stage.addEventListener(Event.ENTER_FRAME, function)
,但这只是一次又一次地增加了价值。
谢谢。
答
由于一些奇怪的原因,我得到它的工作。这个代码是在开始时添加的,而不是像上次那样结束。下面是我所做的:
var DAY = 0;
stage.addEventListener(Event.ENTER_FRAME, newDayFunc);
function newDayFunc(event:Event) {
if (currentFrame == 1286) {
if (Moon.hitTestObject(wallNewDay)) {
DAY++;
dayTextField.text = DAY;
trace("What day it is:", DAY);
}
}
}
**这里是我最终使用搞清楚东西出来后,嘿嘿:
// I figured it out. This is on the last frame.
// Variables
var DAY = 0;
//
// Listeners
stage.addEventListener(Event.ENTER_FRAME, newDayFunc);
//
// Functions
function newDayFunc(event:Event) {
if (DAY < 7)) {
DAY++;
dayTextField.text = DAY;
trace("What day it is:", DAY);
stage.removeEventListener(Event.ENTER_FRAME, newDayFunc);
} else {
// Added other eventListeners that needed to be removed
gotoAndStop("finished"); // The name of the finish frame
}
}
//
显然要检查错了对象的'currentFrame'财产。你对日夜显示感兴趣,而你正在检查'stage'。尝试将监听器添加到具有长时间线的MC,并且正在显示白天而不是舞台,应该这样做。 (关闭传感器帽子) – Vesper
谢谢。我想出了一些有趣的东西;我忘了删除ENTER_FRAME事件,所以它“永远”运行,嘿嘿。 (我是ActionScript新手)我将更新代码以显示我很好(意思)。 :) – ravo10