我有這段代碼讓玩家在完成拖放時在舞臺上出現一條消息。我希望在下一幀單擊按鈕時刪除這個精靈。有人可以幫助我的代碼?移除舞臺上的精靈as3
stage.addEventListener(Event.ENTER_FRAME, EntFrame);
function EntFrame (e:Event):void
{
if (CntP1+CntP2+CntP3+CntP4+CntP5+CntP6+CntP7+CntP8 == 40)
{
var w:int = 400, h:int = 200;
var win:Sprite = new Sprite();
win.name = "Mywin";
addChild(win);
// draw rounded rect with subtle vertical linear gradient fill and blue stroke
win.graphics.lineStyle(4,0x0077ff);
var mat:Matrix = new Matrix();
mat.createGradientBox(w, h, 90 * (Math.PI/180));
win.graphics.beginGradientFill(GradientType.LINEAR,[0xffffff,0xeeeeee],[1.00,1.00],[0,255],mat);
win.graphics.drawRoundRect(0,0,w,h,15,15);
// show center "YOU WIN!" text
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.antiAliasType = AntiAliasType.ADVANCED;
tf.defaultTextFormat = new TextFormat("Arial, Verdana",36,0x454545,true);
tf.text = "Κέρδισες!";
tf.selectable = false;
win.addChild(tf);
tf.x = w/2 - tf.width/2;
tf.y = h/2 - tf.height/2;
// add a drop shadow
var dropShadow:DropShadowFilter = new DropShadowFilter(3,45,0,.35,8,8,1,3);
win.filters = [dropShadow];
// center the graphic
win.x = stage.stageWidth/2 - win.width/2;
win.y = stage.stageHeight/2 - win.height/2;
}
}
你可能會有一堆他們要刪除,因爲你在每一幀添加一個新的。問題是你沒有提及它們的任何一個,所以要想讓它們調用removeChild()是很困難的。老實說,整個功能需要重寫,但是在你的問題中沒有足夠的信息來提供改進它的最佳方法的建議,以滿足任何總體目標。 –
我在舞臺上有8個電影剪輯。玩家點擊它們,它們變得不可見,並且在不同位置的8個新電影剪輯變得可見。而已。當這個過程完成後,我希望文本消息出現,當玩家移動到下一個遊戲時,我想讓這個消息消失。我是新來的閃光燈,我是自學成才,我有很多困難。任何幫助表示讚賞。 – Marianna