0
안녕하세요, 저는 3 개의 클래스 Mainintro.as, Gameplay.as, Lastscene.as가 있습니다.이 코드를 사용하여 다른 클래스를 호출했습니다. 프레임이 계속 멈추지 않고 계속 움직입니다 ...프레임이 actionscript3.0에서 움직일 수 없습니다
에 의한 다음은이 클래스 파일 ( Gameplay.as) 코드가public function onClick
발생에
Mainintro.as
package
{
import flash.display.MovieClip;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import com.greensock.*;
import com.greensock.easing.*;
import Globe;
public class MainIntro
{
public function MainIntro(Mc:MovieClip)
{
Globe.self.realstage = Mc;
Globe.self.realstage.intro_mc.stop();
Mc.intro_mc.play_mc.addEventListener(MouseEvent.CLICK, GameStart);
Mc.intro_mc.play_mc.buttonMode = true;
Mc.intro_mc.ins_btn.buttonMode = true;
var gameply:GamePlay = new GamePlay();
}
public function GameStart(e:MouseEvent):void
{
{
Globe.self.realstage.gotoAndPlay("game");
}
}
}
}
:
Globe.self.realstage.click_mc.addEventListener(MouseEvent.CLICK,onClick);
는 null object reference
오류를주는하지만 난에 에 대한 올바른 이름을 부여했습니다 다음 입장과 나는 그것이 지금은 잘 작동하고 정지 프레임에 정지를 사용한
Gameplay.as
package
{
import com.greensock.*;
import com.greensock.easing.*;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import Globe;
public class GamePlay
{
var currentEntry:int = -1;
var aList:Array =
[
{card:Globe.self.realstage.joker_mc, x:605.55, y:195.45},
{card:Globe.self.realstage.king_mc, x:323.80, y:298.45},
{card:Globe.self.realstage.queen_mc, x:45.85, y:213.95},
{card:Globe.self.realstage.a_mc, x:605.55, y:195.45},
{card:Globe.self.realstage.ten_mc, x:323.80, y:298.45},
{card:Globe.self.realstage.five_mc, x:45.85, y:213.95},
{card:Globe.self.realstage.two_mc, x:605.55, y:195.45},
{card:Globe.self.realstage.nine_mc, x:323.80, y:298.45},
{card:Globe.self.realstage.four_mc, x:45.85, y:213.95},
];
public function GamePlay()
{
Globe.self.realstage.stop();
var gameply:LastScene = new LastScene();
Globe.self.realstage.click_mc.addEventListener(MouseEvent.CLICK,
onClick);
Globe.self.realstage.exit_mc.addEventListener(MouseEvent.CLICK,
lastScene);
}
public function lastScene(e:MouseEvent):void
{
Globe.self.realstage.gotoAndPlay("Scene");
}
public function onClick(e:MouseEvent):void
{
// Unsubscribe to avoid the mess with second click.
Globe.self.realstage.click_mc.removeEventListener(MouseEvent.CLICK,
onClick);
// Start process.
moveNext();
}
public function moveNext():void
{
Globe.self.realstage.currentEntry++;
// Stop the process if all the cards have been moved.
if (Globe.self.realstage.currentEntry >=
Globe.self.realstage.aList.length) return;
// Get the entry.
var anEntry:Object =
Globe.self.realstage.aList[Globe.self.realstage.currentEntry];
// Move the card.
Globe.self.realstage.TweenLite.to(Globe.self.realstage.anEntry['card'],
.4,
{x:Globe.self.realstage.anEntry['x'],y:Globe.self.realstage.anEntry['y'],
onComplete:moveNext});
}
}
}
타임 라인에 오류가 있으면 내부의 모든 스크립트가 무시됩니다. 결과적으로, 타임 라인은'play'ed의 기본 행동으로 돌아갑니다! 따라서 _you_는 오류를 무시하지 말아야합니다 **. 오히려 도움이 더 필요하다면, 질문을 편집해야합니다. 아마도 오류 메시지를 추가하고 특별히 글로브에 대한 설명을 추가하십시오 :) – someOne
'Globe.self.realstage.click_mc .. .etc ... etc' :'e.currentTarget.removeEventListener (MouseEvent.CLICK, onClick); –