2014-03-31 63 views

回答

0
x=-(player.mc.x-stage.stageWidth/2); 
y=-(player.mc.y-stage.stageHeight/2); 
if(canvas) 
    removeChild(canvas); 

var bd:BitmapData=new BitmapData(stage.stageWidth,stage.stageHeight,false,0xFFFFFF); 

bd.draw(stage); 
trace(bd); 

canvas=new Bitmap(bd); 
addChild(canvas); 

x=0; 
y=0; 

在個人電腦,它工作正常。不知道它是否適合手機。

我還沒有測試由blue112建議的方法,因爲在physinjector開發商嘰嘰喳喳大約有父剪輯(https://twitter.com/reyco1/status/327107695670853632)的任何移動投訴,這是相當困難的我現有的架構結合起來。

更改globalOffsetX和globalOffsetY屬性也沒有幫助

1

首先,你可能需要使用一個全球性的雪碧把你的剪輯insde,如:

var a:Sprite = new Sprite(); 
a.addChild(myClip1); 
a.addChild(myClip2); 
... 

然後,你應該能夠移動a

如果你不這樣做,並且你的物理引擎依靠Stage工作,你應該嘗試修復它,或者更好地理解它是如何工作的,以便移動你的movieclip。

每幀重繪一個位圖數據將需要大量的CPU資源,並且您將無法與剪輯進行交互。這真的不是最好的選擇。

相關問題