Project1

标题: [不分RM版本]請問關於RM的射擊道具/武器系統 [打印本页]

作者: sdgn    时间: 2022-2-26 20:05
标题: [不分RM版本]請問關於RM的射擊道具/武器系統
本帖最后由 sdgn 于 2022-2-26 20:07 编辑

請問像飛鏢或子彈這類攻擊的製作...
如非對射出物產生一個事件...是如何讓其有碰撞判定或像事件一樣在遊戲中有空間關係(像是有實體)的?
或者怎麼做到的?
作者: Im剑侠客    时间: 2022-2-26 20:19
本帖最后由 Im剑侠客 于 2022-2-27 11:30 编辑

产生一个事件作为载体,用到的就是它的坐标。令这个事件移动,使用了判定当前的位置,结合这个事件的攻击范围判定是否击中目标。
毕竟事件用到的是map的坐标,是以32*32的格子进行的稍微“模糊”的判定。
如果你的子弹载体是纯图片,那么它的坐标就要考虑real_xy的精确情况,当然,模糊一点的话,按照real_xy与事件在地图的map_xy的关系进行转换,也能有同样功效。
首先还是先确定你的判定系吧,是基于map的事件坐标,还是基于像素的real坐标。

========
2022.02.27 Sun.

多个子弹如果使用事件作为载体,确实会降低效率。当然,你也可以尝试以事件作为基础,起一个新的类,只取事件作为子弹的核心属性,或许可以在保留事件的功用的同时提升效率,而单纯的大规模弹幕类子弹关键属性可能不需要太多,当然,独立于事件也同样有可行方法,预估方法应该很多。

空间碰撞关系,对于默认使用格子地图为基础的RM​是一个需要提升的大工程。如果考虑存在静态子弹放置于地图的情况,要考虑它的通行度,子弹的体积与格子地图匹配(以具体多少个格子定义体积)的话,基本没有什么不协调。而如果是不匹配的情况,那就要考虑一个像素化自定义体积的问题,这个问题目前还没有实际可用低门槛的范例教程,是有难度的地方。

如果不考虑通行度,​碰撞效果完全可以由受击方的表现来实现。以默认的格子地图八方向为例,标准子弹体积为一个格子,一个子弹的命中,受击方基于子弹的到来方向(简单的直线作用力),以一个反方向于子弹的后退达成基本的碰撞效果,实际的受击力度可以按后退的步数距离来作为简单表现。试想以像素为基础,那么方向可以为360度,子弹的坐标与受击方的当前坐标,在命中前就可以得出一个碰撞后的更为精细的方向,受创后退也可以精细为更为准确的接近物理视觉表现的像素距离,当然相关的想法还有很多,同样的还没有实际可用的低门槛范例教程,也是有难度的地方。

事实上,我是乐见于对RM像素化的研究的,目前论坛还没有太多这方面的范例教程,因为是极大受限于技术的大工程,所以难度不是一般的大。真的全方位实现像素化,像素的人物事件移动,像素化的自定义事件体积,像素化的地图通行等等等等,如果能够得到基础的像素化支持,相关的很多东西都会变得容易许多。

(技术力尚未到位,想象力先行其前。非技术人员,可能有说的不对的地方,望海涵。)






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