[英]Actionscript-3: Button within movieclip
因此,我有一個名為bg的動畫片段,其中有一個名為sleep_btn的按鈕。 我正在舞台上的一層上進行編碼,結果如下:
sleep_btn.addEventListener(MouseEvent.CLICK, sleepClick);
function sleepClick(event:MouseEvent):void{
health = 100;
day += 1;
}
我很快意識到,如果在編碼中未同時定義動畫片段,它將無法正常工作,因此我嘗試:
bg.sleep_btn.addEventListener(MouseEvent.CLICK, sleepClick);
function sleepClick(event:MouseEvent):void{
health = 100;
day = day + 1;
}
我的錯誤消失了,但是我發現當我點擊按鈕時,健康狀況和日子保持不變。
一天在一個文本字段中,編碼如下:
var day:int = 1;
if (day==1) date.text = "July 1";
if (day==2) date.text = "July 2";
if (day==3) date.text = "July 3";
並不斷
健康狀況是一個101幀的動畫片段,其編碼如下:
var health:int = 100;
lifebar.gotoAndStop(health + 1);
編輯
頂部橫幅層:
stop();
var health:int = 100;
lifebar.gotoAndStop(health + 1);
//Can write this also: lifebar.health += 45;
trace("health is "+health);
trace("day is "+day);
var day:int = 1;
updateDay();
function updateDay():void{
if (day==1) date.text = "July 1";
if (day==2) date.text = "July 2";
if (day==3) date.text = "July 3";
if (day==4) date.text = "July 3";
}
fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);
function fortyfivedownClick(event:MouseEvent):void{
if (health < 45) {
return;
}
health -= 45;
if(health < 0) health = 0;
else if(health > 100) health = 100;
lifebar.gotoAndStop(health + 1);
trace("health is "+health);
}
bg.sleep_btn.addEventListener(MouseEvent.CLICK, sleepClick);
function sleepClick(event:MouseEvent):void{
health = 100;
day = day + 1;
//update lifebar
lifebar.gotoAndStop(health + 1);
//update day
updateDay();
}
舞台上是否顯示了health
和day
? 他們是什么類型的? 您是否將TextField的文本設置為其值?
如果它們只是變量而沒有在UI中顯示,則不會看到它們發生變化。
您不會使用新數據更新實際的UI文本框。 將您每天確定的代碼(可以進行大量清理,但這不在此問題的范圍內)移至其自己的函數中,以便可以重復使用:
var day:int = 1;
updateDay();
function updateDay():void{
if (day==1) date.text = "July 1";
if (day==2) date.text = "July 2";
if (day==3) date.text = "July 3";
// ...and so on...
}
然后在sleepClick
處理程序中調用該函數(以及運行狀況更新):
function sleepClick(event:MouseEvent):void{
health = 100;
day = day + 1;
//update lifebar
lifebar.gotoAndStop(health + 1);
//update day
updateDay();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.