0
一起移動
我的問題是在我做的只是用不同_boundary(樓)_player一起移動閃存_saw是在舞臺只是靜態影片剪輯與玩家
public class PiggyRun extends MovieClip
{
private var _vy:Number;
private var _vx:Number;
我在劇本球員
public var _player:player;
public var _boundary:Boundary;
public var _rp:RG;
我宣佈剛纔看到一樣與邊界
public var _saw:saw;
public var _jump:Boolean=true;
public function PiggyRun():void
{
_rp.visible=false;
_vx=0;
_vy=0;
_player.gotoAndStop('walking');
stage.focus= stage;
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
stage.addEventListener(KeyboardEvent.KEY_DOWN, kDHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, kUHandler);
}
private function enterFrameHandler(e:Event):void
{
我增加x方法,因爲它是一個正在運行的遊戲
_vy+=2;
_vx+=.5;
if(_vx>10)
{
_vx=10
}
_player.x+=_vx;
_player.y+=_vy;
borders();
stageFocus();
sawblade();
}
的控制時,按下
private function kDHandler(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case 38:
if(_jump){
_jump=false;
_vy=-20;
}
break;
default:
}
}
我刪除了這個功能
private function kUHandler(e:KeyboardEvent):void
{
switch(e.keyCode)
{
}
}
private function borders():void
{
if(_vy > 0)
{
if (_player.y>stage.stageHeight)
{
_player.x=_rp.x;
_player.y=_rp.y;
_boundary.x=0;
_boundary.y=0;
_saw.x=0;
_saw.y=0;
_vy=0;
_vx=0;
}else{
var border:Boolean=false;
if(_boundary.hitTestPoint(_player.x,_player.y,true))
{
border=true;
}
if (border)
{
while(border)
{
_player.y-=0.05;
_jump=true;
border=false;
if(_boundary.hitTestPoint(_player.x,_player.y,true))
{
border=true;
}
}
_vy=0;
}
}
}
}
我其中把這個函數的內容,如果玩家擊中鋸片就會重生回_rp的位置,但我傷心的2 movieclips不會見,因爲他們同時移動 ,即使我強制把_saw連同它功能不起作用
private function sawblade():void
{
if(_vy > 0)
{
if (_player.y>stage.stageHeight)
{
_player.x=_rp.x;
_player.y=_rp.y;
_boundary.x=0;
_boundary.y=0;
_saw.x=0;
_saw.y=0;
_vy=0;
_vx=0;
}else{
var sawn:Boolean=false;
if(_saw.hitTestPoint(_player.x,_player.y,true))
{
sawn=true;
}
if (sawn)
{
while(sawn)
{
_player.x=_rp.x;
_player.y=_rp.y;
_boundary.x=0;
_boundary.y=0;
_saw.x=0;
_saw.y=0;
_vy=0;
_vx=0;
_jump=true;
sawn=false;
if(_saw.hitTestPoint(_player.x,_player.y,true))
{
sawn=true;
}
}
_vy=0;
}
}
}
}
private function stageFocus():void
{
_boundary.x+=(stage.stageWidth * 0.5)-_player.x;
_player.x=stage.stageWidth*0.5;
_saw.x=5;
}
}
檢查是否將_Child()_saw對象添加到_player對象。似乎_saw.parent等於_player,這使得它隨着玩家移動。 – Vesper
這樣讀取代碼有點困難。試着在上面清楚地問你的問題。然後有一個堅實的代碼塊(附加評論而不是換行符)。和@Vesper一樣,我也對你實例化'Player'和'Saw'以及如何將它們添加到舞臺上感興趣。 –
我沒有任何addChild,它是一個非常基本的Flash遊戲,我只是將它們繪製到舞臺上並使它們符號而添加了看到和播放器 –