Project1
标题:
在地图上作出射击怪物的效果
[打印本页]
作者:
POPO70114
时间:
2013-12-9 16:38
标题:
在地图上作出射击怪物的效果
285.png
(13.43 KB, 下载次数: 38)
下载附件
保存到相册
2013-12-9 16:34 上传
想做出在地图上开枪攻击怪物的效果
目前做出了按下A按键玩家就会举枪
之后想让右上角显示子弹道具的小图和旁边的残余数量
把枪收起来右上角的图案就会消失
另外还有开枪攻击时不会有子弹飞出来只会有点小特效而已
开枪后就判断玩家面向方面的前面五格内有无怪物
有的话就让怪物受到损伤
这效果也不知道该如何实现
请求指点 感激不尽! !
作者:
耀眼的毛玉
时间:
2013-12-9 20:11
这需要把整个地图定义成战斗场景配合SLG战斗剧本吧
作者:
未命名
时间:
2013-12-9 22:31
本帖最后由 未命名 于 2013-12-10 22:42 编辑
很容易的,对于纯事件(脚本)A·RPG来说。
首先,我码字先……
1.虽然可以代替,但最好需要这个(XP,要移植VA):
只需要一行脚本,就可以将独立开关变成我所需要的独立变量:
Game_SelfSwitches第20行:
原文: return @data[key] == true ? true : false
改为: return @data[key] == nil ? false : @data[key]
即可。
之后可以用事件脚本的方式操作独立变量:
$game_self_switches[[$game_map.map_id, @event_id, "E"]]=4
$game_self_switches[[$game_map.map_id, @event_id, "E"]]+=5
条件分岐:脚本:$game_self_switches[[$game_map.map_id, @event_id, "E"]]==9
blabla
分歧结束
几点说明:
1. 在将开关当变量操作运算(包括作为条件分歧中的比较)前,需要先进行变量赋值,否则会有FalseClass的NoMethodError
2. 但如果是直接当开关操作则不用,比如
$game_self_switches[[$game_map.map_id, @event_id, "E"]]=!$game_self_switches[[$game_map.map_id, @event_id, "E"]]
3. 原来的独立开关逻辑仍然保留,不受任何影响,不过还是建议用到独立变量时,编号从E开始设置比较好
4. 注意引用下标的写法,双层方括号,不要写漏了。
5. 引用其他事件的独立开关:$game_self_switches[[$game_map.map_id, 那个事件的ID, 开关编号]]
复制代码
2. 在事件中用的脚本:
# 循环全部事件
$game_map.events.values.each do |event|#VA
#此处可获取事件各种事件的信息
#例如event.x获得监测到的事件的地图X坐标。
#例如 如果事件X=角色X,事件Y=角色Y
if event.x == $game_player.x and event.y == $game_player.y
# 如果那个事件的独立开关A打开,则……
if $game_self_switches[[$game_map.map_id, event.id, "A"]] == true
……
end
end
复制代码
3.运用独立开关可以判定事件哪个是怪物什么的。
然后赋予什么效果……
啊啊啊啊啊,好麻烦,我直接给范例算了!
VA射击范例(事件脚本).rar
(1.42 MB, 下载次数: 169)
2013-12-9 23:51 上传
点击文件名下载附件
总之实现这个效果对新手是很麻烦的。
子弹显示啊,如果是以前的我,包括数字我都会用图片显示的,脚本的话,要先见窗口,有时间我再发范例吧。你先用图显示片解决吧。
作者:
lanyaolove
时间:
2013-12-9 22:49
横版动作类游戏 推荐AGM 不推荐RM
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1