赞 | 38 |
VIP | 2420 |
好人卡 | 100 |
积分 | 33 |
经验 | 75384 |
最后登录 | 2024-7-7 |
在线时间 | 3619 小时 |
Lv3.寻梦者 (暗夜天使) 名侦探小柯
- 梦石
- 0
- 星屑
- 3299
- 在线时间
- 3619 小时
- 注册时间
- 2006-9-6
- 帖子
- 37400
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
节前语:
其实事件是个很简单的东西,只要按按按钮输输数字、文字什么的就好了。
【正文】
对于制作事件的东西,关键就是两点:熟练,思路。
熟练,毫无疑问,使用一下这些功能,明白他的意义和使用价值,熟练他的用法。这样就是熟练。要求基本上是全部熟练。(个别几个没什么用的没关系,其实那个什么按键输入之类的什么东西我现在也没明白……)
思路,即时这个系统的构造,需要什么样,什么功能,而这些功能又如何实现。就好像要解一个几何题,比如要知道这个角多少度,你可以知道他的对顶角多少度,而对顶角又要怎么求呢?这样反过来思维,而不是先想这个能得到什么,然后这个能得到什么,最后发现这个可以得到答案,这样比较浪费时间,而且也可能会卡脑(相当于电脑死机)。就好像要做一个家具系统(其实是给某人的作业,结果他做不出来),购买家具后可以在地图任意可以建造的位置(默认判断为可通行),然后家具就出现了。
青天(做这个作业的人)是这么想的:在地图上可以通行的地方铺满事件,然后在事件上按下时改变行走图。
这个办法不是不可以,但是极其耗费FPS。我的要求是FPS要25以上,他做的FPS降到了4。很明显这是不可取的,这种速度基本上是无法运行的。
有个办法可以保证FPS。FPS的最大影响就是:地图大、事件多、并行处理多(尤其是开关和变量的操作)。那么要让FPS不低就抓住这三点。地图大这个不能控制,有制作者决定。那么想后两个。
事件不能多,假设家具有X个,那么就有X个事件(家具多事件就多,这个没办法,当然也可以用yangff的那个建房子脚本,不过违背了事件就是了……)。那么如果只有一个家具既是1个事件,这样FPS就不会低了。
然后是并行处理,为了判断按键所以需要一个,但是不需要开关和变量的操作,所以不会怎么掉FPS。
制作大概就是这样:
画地图(废话!),建立一个事件当作家具,条件是开关【001:家具1号】打开,设置一下家具的图像。并行事件设置条件分歧当A建按下时(举例而已),把主角的X和Y代入变量(要确保在主角再次移动时已经计算出当时的坐标,如果FPS不好可能会有误差),条件分歧里写事件脚本:$game_player.passable?(x,y,方向)(X Y 方向 需要替换),不知道$game_player.passable?(x,y,10)这样写是不是全部的方向,如果不行就一个一个判断吧。判断后如果是可以通行那么移动先前的那个家具事件移动到指定的X和Y的变量,然后打开开关【001:家具1号】。这样就好了。然后结束这个操作,让玩家恢复正常操作模式。
这里说的是一个家具,如果多个的话前面可以加个判断。因为XP刷新地图后事件会归回原位,所以需要在加个自动事件的判断,把它移动回改过的位置。
恩……有点偏题了。没话说了,想到什么再补充吧…… = =
[LINE]1,#dddddd[/LINE]
事件是让不会写脚本的人也能做出丰富多样的系统和游戏的东西,这才是制作工具的意义。 倒过来想,条件充足,答案也存在,那么肯定会发现那个答案是什么。发现不了是因为倒转的东西太多而记不住或者是根本没认真去想。 无视这两句话。
|
|