我真的很困惑。我让代码完美地工作,然后回去尝试一些东西,现在它不能工作了。我似乎不知道现在是什么时候,结果我开始真的很沮丧。我似乎也没有收到任何错误提示。
我有两个文件gameindex和一个是外部swf,这是我导入的级别在Gameindex之上。当事件被调用时,我想移到时间线上的其他位置,但到目前为止,调用事件不起作用。
我在级别中的代码如下:
private function enterFrameHandler(event:Event):void
{
updatePosition();
updateRotation();
scorebox.text=String(score);
var t:Number = Math.random();
if(t>0.98) {
addasteroid();
}
for (var a:int = 0;a<allast.length;a++) {
if (contains(allast[a])) {
for (var b:int = 0;b<allbullets.length;b++) {
if (allbullets[b].hitTestObject(allast[a])) {
//removeChild(allbullet[b]);
if (contains(allast[a])) {
removeChild(allast[a]);
}
//score
score+=5;
if (score==20) {
dispatchEvent(new Event("next_level"));
}
}
if (allast[a].hitTestObject(_player)) {
//removeChild(allbullet[b]);
trace("hitplayer");
endGame();
}
}
allast[a].y += 2;
}
}
}//function现在在我的游戏索引中,我有了休眠代码:
import flash.events.Event;
addEventListener("next_level", movetointro);
function movetointro(e:Event){
trace("IT IS WORKING");}为什么我的movetointro函数不起作用?
发布于 2014-11-03 07:30:34
你可以试试这个( 100%工作):
package {
import flash.display.MovieClip;
public class Game extends MovieClip {
import flash.events.*
private var score:Number
private static const event_name:String = 'my_event_name'
private static const min_score_to_go:Number = 20
public function Game() {
score = 0
addEventListener(event_name, goto_next_level)
}
public function score_up(){
score ++
verify_score()
}
public function score_down(){
score --
verify_score()
}
private function goto_next_level(e:Event){
trace('OK, I can go to next level')
removeEventListener(event_name, goto_next_level)
}
private function verify_score(){
trace('score : '+score)
if(score == min_score_to_go){
dispatchEvent(new Event(event_name))
}
}
}
}https://stackoverflow.com/questions/26705432
复制相似问题