设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1868|回复: 3
打印 上一主题 下一主题

[讨论] 思路-使用事件去实现消块判定(含展示视频)

[复制链接]

Lv3.寻梦者

梦石
1
星屑
985
在线时间
231 小时
注册时间
2006-2-3
帖子
82
跳转到指定楼层
1
发表于 2019-11-18 23:25:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 zsefvv 于 2019-11-19 00:27 编辑

展示视频(见P2):https://www.bilibili.com/video/av75142241?p=2
范例比较大,就不发了.....

依赖:①可以使用鼠标去响应图片的脚本或者插件(类似功能的也可)
          ②战斗中优先调用公共事件的脚本或者插件

步骤:
①初始化相关变量(以7个块为例)

除了坐标和上限都赋值0
②生成方块的方式
我这边是做了个并行判断,当战斗开始后,我方SP达到max就会执行获得方块的公共事件,并且 (变量:持有块数量+1)。
每个消块游戏的块生成方式不一样,这里就不多说了。
③判断块的生成类型,并将类型赋予当前最末位的块(即变量:持有块数量)。

④生成方块图片
当我获取到了我持有的块的数量,并且也获取到了块的类型,那么我就知道了要生成哪种方块到哪个坐标。
用简单的显示图片即可,为了让效果看起来逼真,建议先将块显示在最右侧,向左移动方块,方块的移动时间则可以根据距离去换算。

以下是我的省事写法
a=30+$game_variables[1001]
b=$game_variables[1002]
c=1011+$game_variables[1001]
d=20-$game_variables[1001]*2
$game_screen.pictures[a].show("battle/cmd101#{b}_skill",0,500,$game_variables[1011],100,100,125,0)
$game_screen.pictures[a].move(d,0,$game_variables[c],$game_variables[1011],100,100,255,0)
@wait_count=d


那么生成方块的逻辑就到这边了,接下来是更简单的消块逻辑。
因为我们使用了鼠标去响应图片的脚本,所以图片都会绑定一个公共事件。
逻辑就很清楚了,你生成了A类方块,那么要执行A类方块,就往A类方块的公共事件带入一个变量 (变量:当前执行的方块类型)再去执行另外个公共事件-消块处理。

⑤消块处理-取对象
通过条件分歧判断鼠标的坐标,来执行对应位置的消块逻辑。


⑥消块处理-执行对应对象的块逻辑

→带入变量
→判断单消、2消、3消
→在对应位置播放消块动画
→改变变量
→清除块图片
→根据变量重新显示块图片
→返回变量
→执行结果事件

下面是我的第一格方块的例子
每格方块都要单独去写判断,因为他们的感应范围不一样。
比如第一格,那就是感应123
第二格,就是感应1234
第三格,就是感应12345
即目标格的前后2格。






其实咱发这个贴是想顺便问个小地图相关问题的......
我这边是rogueike探索游戏,地图房间随机生成。
用到了小地图,采用的方式是进入关卡后使用截图脚本。
然后再用小地图调用这个截图......
但是出现了几个问题
①截图脚本是全屏截图,超出屏幕的部分不截图。
②如果使用航拍脚本,截图后会退出游戏(我也不知道为啥,相关逻辑已经试着删掉了),则无法调用截图。
并且航拍截图只能截到第0页的事件。(而随机房间我是通过随机打开事件的独立开关实现的,所以截图不到我的事件)
③我这边做了个地图点开放大功能,
点开地图时$game_map.events[当前事件].opacity = 255
关闭地图时$game_map.events[当前事件].opacity = 0
然后发现了一个问题,即$game_map.events[当前事件].opacity所改变的只是当前事件的当前页。
当前事件切换到其他页面的时候,只能再执行一次让他变透明。
有什么解决办法?
④因为小地图是使用截图,如果探索过程可以存档就会导致小地图和实际上的房间对不上,除了再截图一次有什么办法吗?
⑤在使用了小地图后掉帧现象很明显。

Lv4.逐梦者

梦石
0
星屑
14619
在线时间
2152 小时
注册时间
2016-9-20
帖子
861
2
发表于 2019-11-20 17:35:35 | 只看该作者
本帖最后由 ppspssss 于 2019-11-20 18:21 编辑

事件腳本类教程和实操較少的 , 实際适合想提升逻缉的整理计划,和对事件认识,和刚学脚本的人练习

流暢度的問題: 可以考慮先試一下轉換RGSS3引擎的腳本(RPGVX-ACE), 我也是做ARPG, 轉換前掉到20幀卡頓, 轉換后可以达到60幀不卡幀,
RGSS3腳本地址:https://rpg.blue/thread-363284-1-1.html
轉換后有缺点:比如對話框加強,LE線形視野不能使用,几个冷門語法不同寫法,全屏无效,高速移动后无法繪制Y軸較低的地图元件,字体只能用普通,地图淡出会死机等等 ,
但是流暢度完全解決了, 就不太在意这些不能用了,如果楼主这个腳本不会的地方可以問一下我不懂的地方,

Sprite响应鼠标, 这个鼠标响應楼主不會用,不过也給你看看
https://rpg.blue/thread-476558-1-1.html

点评

从你看到了以前的我, 也是用大量事件去做, 一开始还行,不轉換至RGSS3是卡死了 , 詢問过別人即使全腳本不使用事件, 也会卡死  发表于 2019-11-22 09:27
这个转RGSS3的脚本之前有考虑用过,但是使用了发现鼠标响应图片事件的脚本不生效,鼠标脚本已经改过,都可以在窗口里跑了,就是点击无效。放弃了  发表于 2019-11-22 04:15
我发的贴子大多未经整理是草稿抱歉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 00:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表