作者meglie (meglie)
看板Flash
標題Re: [問題] button按兩次後即跳出迴圈這如何寫?
時間Tue Sep 13 21:56:55 2005
※ 引述《meglie (meglie)》之銘言:
: 沒有笨問題 所以我又來問問題了~
: 請問利害的大大
: 假設有一button A 在迴圈裡,
: 若按A一次一樣繼續執行,而按A第二次則跳出迴圈
: 請問我如何用AS寫 A再按第二次後才會跳出迴圈??
抱歉..我講的太不清不楚了
我要做的遊戲是:
假如有
花費時間: _ _ _
Q1:現在拿1000元 ◎(button)
Q2:一天 後拿 10000元 ◎(button)
你會選擇哪一邊??
其中Q1的錢數 、Q2的錢數和天數都會改變如下:
除非連續兩次選擇 Q2,Q2的天數才會改變(由一天,變為一週...)
否則在同一時間裡,玩家每次的選擇
Q1的錢數會慢慢減少(由1000變為995,960...)
Q2的錢數會一直增加(10000變為100000....每次增加一個0)
以下是我寫的AS...
我要問的是這個部份《除非連續兩次選擇 Q2,Q2的天數才會改變(由一天,變為一週..》
怎麼寫AS辨識button兩次選擇Q2以跳去下個時間呢?? 好難@___@
stop();
//Q1錢數陣列
q1_txt =
["1000","995","960","920","800","700","600","500","400","300","200","100","60","20","5"];
//Q2時間陣列
q2_time = ["一天","一週","兩個月","六個月","一年","五年","二十五年"];
//設定錢數迴圈
j=1;
function rsq() {
if (j<15){
_root.q1_mc.q1_txt.text = q1_txt[j];
_root.q2_mc.q2_txt.text += "0";
}
j=j+1;
return ;
}
//設定Q2時間
i=0;
function timmer(){
if(i<7){
_root.q2_mc.q2_time.text = q2_time[i];
i=i+1;
}
setQ();
}
setQ();
function setQ() {
this.q1_mc.q1_txt.text = q1_txt[0];
_root.q2_mc.q2_txt.text = "10000";
_root.q2_mc.q2_time.text = q2_time[0+i];
//選Q1呼叫rsq
_root.q1_mc.s1_btn.onRelease = function(){
rsq();
}
(有問題的地方)@__@
//選Q2呼叫rsq
var flag = false ;
_root.q2_mc.s2_btn.onRelease = function(){
flag = true;
rsq();
return flag;
_root.q2_mc.s2_btn.onRelease = true ;
rsq();
timmer();
}
}
//計時器
var startTime = (new Date()).getTime();
time.onEnterFrame = function() {
var now = (new Date()).getTime();
this.time_ = Math.floor((now-startTime)/1000);
};
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.143.1
1F:推 lin15:說一個我的想法...就是用簡單的if...else... 203.73.243.86 09/13
2F:→ lin15:設一個變數var y=0然後第一個按鈕讓他按下去會y=0 203.73.243.86 09/13
3F:→ lin15:第二個按鈕按下去讓y=y+1 然後再去判斷如果y=2就 203.73.243.86 09/13
4F:→ lin15:改變文字輸出...這樣應該就可以了 不知道有沒有更 203.73.243.86 09/13
5F:→ lin15:好的方法... 203.73.243.86 09/13
6F:推 meglie:原來是再設一個變數...謝謝~我TRY出來了 218.160.143.1 09/13
7F:→ meglie:感謝大大點醒我~~!!^_________^ 218.160.143.1 09/13
8F:推 cyjonas:好哲學的遊戲XD 218.162.150.43 09/14
9F:→ Jedic:根本就不叫迴圈... 61.62.226.170 09/14
10F:→ Jedic:本來flag就等於這個功用了 61.62.226.170 09/14
11F:→ Jedic:只不過var flag = false應該在最外面宣告 61.62.226.170 09/14
12F:→ Jedic:然後在flag = true;之前先做判斷 61.62.226.170 09/14
13F:→ Jedic:if(flag ==false){flag = true;................} 61.62.226.170 09/14
14F:→ Jedic:不過我看你應該是直接套用其他語言的觀念 61.62.226.170 09/14
15F:→ Jedic:所以才會寫成這樣繁瑣的code 61.62.226.170 09/14
16F:→ Jedic:但是ActionScript畢竟還是不太一樣 61.62.226.170 09/14
17F:推 meglie:說錯了~不是迴圈是function,因為還是新手... 163.15.180.2 09/14
18F:→ meglie:還在摸索中,只能用之前學的語言去套~會容易點 163.15.180.2 09/14
19F:推 meglie:請大大多多指點囉~~感謝! 163.15.180.2 09/14