private function scrollStage():void
{
if (lastPosX != lastPosX)
{
canScrollStage = false;
}
else
if (lastPosX == lastPosX)
{
canScrollStage = true;
}
if (canScrollStage)
{
if (rightKey)
{
//move background left
//something.x +=(stage.stageWidth * 0.5) - character.x * 2;
}
else
if (leftKey)
{
//move backgrounf Roight
}
for (var b:int = 0; b < childrenOnStage; b++)
{
if (getChildAt(b).name == "enemy")
{
getChildAt(b).x +=(stage.stageWidth * 0.5) - character.x
}
}
ground.x += (stage.stageWidth * 0.5) - character.x
}
else
{
//move the background
}
// do this last, everything moves around object
character.x = stage.stageWidth * 0.5;
lastPosX = character.x;
}
有人告訴我移動球員周圍的物體,然後更新球員x位置。重置球員x位置(Flash As3)
這就是我通過查看教程(「卡通智能」)所做的;
在我的播放器類中,我有一個重置功能。
private var xSpeed:int;
private var resetPos:Point;
public function player()
{
addEventListener(Event.ADDED_TO_STAGE, onAdd)
}
private function onAdd(e: Event): void
{
xSpeed = 3;
resetPos = new Point(x, y);
}
public function reset():void
{
x = resetPos.x;
y = resetPos.y;
//trace(resetPos);
//trace(resetPos + "player");
}
當玩家墜樓身亡這一功能被稱爲
private function playerFalls():void
{
if (character.y > stage.stageHeight)
{
//take life away and go back to check point or back to reset
character.x = stage.stageWidth * 0.5;
character.y = 20;
//goblin1.reset();
//goblin2.reset();
//goblin3.reset();
//stage.x = stage.stageWidth * 0.5;
//canScrollStage = false;
}
}
如果我使用
character.x = stage.stageWidth * 0.5;
然後我的性格在中間就結束了,但它會在結束因爲滾動功能決定玩家始終處於中間位置。
character.x = (stage.stageWidth * 0.5) - 400;// moves him back
但是如果角色掉在屏幕左側,那麼他將被移回。 任何人都有這個解決方案嗎?
我的問題是,我想重置播放器的x位置爲300,y位置爲10;
但我不能這樣做,因爲舞臺轉換和協調系統變化。
爲了讓玩家回到舞臺的原始座標,舞臺必須滾動。
這是我的想法,或者地面和敵人必須做相反的事情?
如果你能解釋一下你的問題多一點,我會很高興你指出正確的方向。我一直在創造一款平臺遊戲,所以我一定會有經驗來幫助你。你到底需要什麼幫助? – DrakeTruber
@DrakeSwartzy謝謝你!我現在在工作,但後來像2小時的時間回覆生病 – Moynul
@DrakeSwartzy基本上,character.x總是= stage.stageWith/2 – Moynul