Re: [问题] 游戏中 子弹发射的间隔

楼主: KawasumiMai (さあ、死ぬがいい)   2013-09-30 11:27:36
※ 引述《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
楼主: KawasumiMai (さあ、死ぬがいい)   0000-00-00 00:00:00
布林只有true false两种,int的true(正数)则有"程度"一样用EnterFrame,反向思考,delay=0就是true依据你的作法,可以在EnterFrame检测true后修改delay
作者: SouthernSun (撒灯尚)   2013-09-30 18:02:00
推推!!
作者: weirdfoot (ユニライト)   2013-09-30 22:59:00
先感谢K大T_T 但因为我是用一个布林值检测要不要发射原是keyDown后变量变true Enterframe检测true后开始发射依照大大的逻辑测试 还是会有连发的状况 我猜是因为没有在"某个地方"检测如果delay值>0则布林值变false但我不确定要写在哪..要另起一个Enterframe检测吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com