Project1

标题: 求一个射击脚本,用于机枪~~ [打印本页]

作者: lanyaolove    时间: 2013-10-1 19:24
标题: 求一个射击脚本,用于机枪~~
本帖最后由 lanyaolove 于 2013-10-2 19:15 编辑

应该属于ARPG了吧 是在地图上战斗 机枪要扫射 所以用事件做的话 可能已经比较困难了 或者说比较费劲
于是想求一个带碰撞检测的连续射击的脚本 碰撞检测的话用矩形就行 或者说留出接口我自己可以做,最关键和头疼的是怎么让一大堆生成时间不同的子弹往我想要的方向飞。
求各路大大帮忙
作者: myownroc    时间: 2013-10-1 20:09
如果楼主只是想要做一个射击类游戏,可以使用action game maker 或 3D game studio,这些工具更合适。如果要用RM难度会很大。

话说站里可以搜索射击的脚本…
作者: lanyaolove    时间: 2013-10-1 21:10
myownroc 发表于 2013-10-1 20:09
如果楼主只是想要做一个射击类游戏,可以使用action game maker 或 3D game studio,这些工具更合 ...

不是纯ACT游戏 只是一种战斗模式 站上的射击脚本我没找到连射的
作者: yagami    时间: 2013-10-2 02:06
本帖最后由 yagami 于 2013-10-2 02:18 编辑

这东西比较烦懒得写 给你个思路
子弹写个类 敌人就用 事件好了 方便写运动
加2个数组 1个保存子弹 1个保存敌人
每生成1个子弹 加入子弹数组 敌人加入敌人数组
scene map 在update里要增加个check 函数
check函数 2层for循环
for i in 子弹数组
  for j in 敌人数组
  if i 和 j碰撞 (写个函数 用矩形判定)
    销毁子弹 和事件 并且从数组里移除
   end
  end
end
同时还要做的是 子弹超出屏幕 销毁子弹 并从数组里移除

至于子弹的移动 子弹类里组合个 sprite 构造的时候传个角度参数进去 假设要移动10距离 那x坐标就增加 sin角度*10 y坐标增加cos角度*10 在update里按你要的速度做这事情
如果角度是通过 子弹坐标 和 敌人坐标自动决定的 那你要用弧度转角度公式atan((a.y-b.y)/(a.x-b.x))/3.14*180 然后再做上面的事情
至于为何子弹不用事件 因为子弹要做的事情很简单 只是移动而已 连碰撞都是其他东西做的 用事件明显是奢侈的浪费 碰撞检测已经很消耗性能了
作者: chd114    时间: 2013-10-2 09:26
我想先问楼主一个问题···你的射击要求的连射有子弹上限吗?就是类似泡泡堂放炸弹一样有同一时间存在的炸弹数量上限吗?
作者: lanyaolove    时间: 2013-10-2 14:15
chd114 发表于 2013-10-2 09:26
我想先问楼主一个问题···你的射击要求的连射有子弹上限吗?就是类似泡泡堂放炸弹一样有同一时间存在的炸 ...

上限可能有吧 100个觉得足以 因为子弹射速快  不管怎么样都不可能同时显示出100个
作者: chd114    时间: 2013-10-2 15:40
lanyaolove 发表于 2013-10-2 14:15
上限可能有吧 100个觉得足以 因为子弹射速快  不管怎么样都不可能同时显示出100个 ...

···我的意思是同时显示出来的飞行中的子弹最多有多少个···
作者: lanyaolove    时间: 2013-10-2 16:08
chd114 发表于 2013-10-2 15:40
···我的意思是同时显示出来的飞行中的子弹最多有多少个···

50个
作者: chd114    时间: 2013-10-2 17:08
lanyaolove 发表于 2013-10-2 16:08
50个

笨方法,50个子弹事件···这样就可以让子弹事件来判定,而且也不会出现不同方向子弹样子一样的BUG




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1