Re: [問題] 遊戲中 子彈發射的間隔

看板Flash作者 (闇に沈んだ刃)時間11年前 (2013/09/30 11:27), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串2/5 (看更多)
※ 引述《weirdfoot (怪腳之哈比)》之銘言: : 各位大大好 : 小的最近在構思一個小遊戲 : 想先寫幾個小程式 來試試看順暢度 : 今天試的是子彈發射 : http://www.mediafire.com/download/d4y5gryixgaovpy/ShootTest_2013.fla : (家裡只有CS3 如有不便我可以只貼AS...) : 左右鍵可以移動 空白鍵發射子彈 : 我的問題是 : 我按下空白鍵後會連發 : 可是我想要發射第一發後 間隔一段時間再發射下一發 : 可是我沒有學過 家裡有的書也找不到相關的寫法.. : 想問問有沒有辦法做到 : 1.不連發 一下空白鍵發射一發 or 2.隔一段時間一發 : 這樣不知道會不會太伸手.. : 麻煩各位大大了(跪 遊戲中,建議用一個變數去判斷影格同步 以下描述邏輯,這是我比較常用的作法 var shoot_delay:Number=new Number(0) Keydown{ if(shoot_delay==0){ 發射 shoot_delay=30 } } Keyup{ shoot_delay=0 //可以不要,否則連按就可以拼命射 } EnterFrame{ if(shoot_delay>0){ shoot_delay-- } } 這樣就可以達到控制間隔的目的 -- ▼▼ ◥▇◣◣ の色 白い言葉 ◣▲ \ ╲◣▲ ◥█████◣      純粋へと戻る /‘ d▄▄▄◣/‘ ◥██████   願いましょう 幸せになれ ▂▄▄▄▄▄▆ ██████ sweet my sweet my dream ◢█   —◢█ ◥██████  ~川澄 舞~ ▼▼ ◥██◤██http://youtu.be/EKzHyUFp87Y
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.175.178

09/30 18:02, , 1F
推推!!
09/30 18:02, 1F

09/30 22:59, , 2F
先感謝K大T_T 但因為我是用一個布林值檢測要不要發射
09/30 22:59, 2F

09/30 23:00, , 3F
原是keyDown後變數變true Enterframe檢測true後開始發射
09/30 23:00, 3F

09/30 23:00, , 4F
依照大大的邏輯測試 還是會有連發的狀況 我猜是因為沒有
09/30 23:00, 4F

09/30 23:01, , 5F
在"某個地方"檢測如果delay值>0則布林值變false
09/30 23:01, 5F

09/30 23:02, , 6F
但我不確定要寫在哪..要另起一個Enterframe檢測嗎?
09/30 23:02, 6F

10/01 22:57, , 7F
布林只有true false兩種,int的true(正數)則有"程度"
10/01 22:57, 7F

10/01 22:58, , 8F
一樣用EnterFrame,反向思考,delay=0就是true
10/01 22:58, 8F

10/01 23:02, , 9F
依據你的作法,可以在EnterFrame檢測true後修改delay
10/01 23:02, 9F
文章代碼(AID): #1IIE-iQi (Flash)
文章代碼(AID): #1IIE-iQi (Flash)