1
ステージにテキストを表示するためのクラスがいくつかあります。それはかなりうまく動作しますが、私はこの私のクラスにはタイミングの問題があります
public function onAdd(e:Event) {
//stuff
addChild(new messager("Welcome."));
addChild(new messager("WASD to move, mouse to shoot."));
addChild(new messager("Kill zombies for XP and collect ammo boxes.",waveOne));
}
public function waveOne(){
addChild(new messager("Good luck and have fun.",newWave));
}
のようにそれをチェーンするとき、テキストは(幸運と楽しみを持っている)が表示されていませんが、NEWWAVEが呼び出されます。私がwaveOneをonAddという名前で呼び出さないのは、それが速すぎることではないということです。私のクラスは、50フレームごとにテキストをユーザーに投げます(これは、後で敵を殺し、追いつくために)。 (影響を除去した)
はここに私のクラスである:テキストフィールドを持っているムービークリップに連動するように設定されている
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.Timer;
public class Messager extends MovieClip{
var actualText:String;
var callback:Function;
var upTo:int = 0;
static var waitingFor:int = 0;
public function Messager(text:String,callback:Function=null) {
this.callback = callback;
actualText = text;
x = 320 - actualText.length * 6.5;
y = 0 - waitingFor * 60;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
waitingFor++;
}
public function onEnterFrame(e:Event) {
y+= 1;
if(y > 60){
waitingFor--;
}
if(y > 200){
alpha -= 0.03;
if(alpha <= 0){
if(callback != null){
callback();
}
removeEventListener(Event.ENTER_FRAME, onEntFrm);
this.parent.removeChild(this);
}
}
}
}
。
ありがとうございました。
問題が見つかりました。ありがとうございます! – apscience
あなたは本当にyの問題を抱えていましたか? – Eugeny89