作者KawasumiMai (闇に沈んだ刃)
看板Flash
標題Re: [問題] 遊戲中 子彈發射的間隔
時間Mon Sep 30 11:27:36 2013
※ 引述《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
1F:推 SouthernSun:推推!! 09/30 18:02
2F:→ weirdfoot:先感謝K大T_T 但因為我是用一個布林值檢測要不要發射 09/30 22:59
3F:→ weirdfoot:原是keyDown後變數變true Enterframe檢測true後開始發射 09/30 23:00
4F:→ weirdfoot:依照大大的邏輯測試 還是會有連發的狀況 我猜是因為沒有 09/30 23:00
5F:→ weirdfoot:在"某個地方"檢測如果delay值>0則布林值變false 09/30 23:01
6F:→ weirdfoot:但我不確定要寫在哪..要另起一個Enterframe檢測嗎? 09/30 23:02
7F:→ KawasumiMai:布林只有true false兩種,int的true(正數)則有"程度" 10/01 22:57
8F:→ KawasumiMai:一樣用EnterFrame,反向思考,delay=0就是true 10/01 22:58
9F:→ KawasumiMai:依據你的作法,可以在EnterFrame檢測true後修改delay 10/01 23:02