Project1

标题: 关于修改超八方向脚本 [打印本页]

作者: 小真·爱舞    时间: 2007-8-2 03:22
标题: 关于修改超八方向脚本
长话短说,来这里的各位应该都能听懂才对。我的VIP都送人了,只好用好人卡来代替,希望大家不嫌弃报酬太少才好。
记得过去有人提过这种想法,那就是超八方向的通行设定里,是黑色不通行,白色通行,红色的话就可以让站在这个位置上的事件或者角色的z坐标增大,相信用过超八方向脚本的人都有过追求完美的想法,这样做就可以解决一些画面的瑕疵,可以说是超八方向最大的画面瑕疵问题。
今天我进行了尝试,通过对红色像素的判定,这点倒不是问题,但是仍然无法实现。

其一,这个红色要如何取得并带入到所处的角色或者事件的一个属性里?
其二,这个Z坐标应该在哪里更改,并且在准确的时间内设定。
其三,就是要求角色和所有的事件都能具有这一属性。

我不需要直接的答案,比起直接给我一段脚本,我更希望有人把方法告诉给我,自己刚才尝试了下没有行得通,希望诸君能一起进来讨论,一同思考解决方式,来完善这个脚本。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 小真·爱舞    时间: 2007-8-2 03:22
标题: 关于修改超八方向脚本
长话短说,来这里的各位应该都能听懂才对。我的VIP都送人了,只好用好人卡来代替,希望大家不嫌弃报酬太少才好。
记得过去有人提过这种想法,那就是超八方向的通行设定里,是黑色不通行,白色通行,红色的话就可以让站在这个位置上的事件或者角色的z坐标增大,相信用过超八方向脚本的人都有过追求完美的想法,这样做就可以解决一些画面的瑕疵,可以说是超八方向最大的画面瑕疵问题。
今天我进行了尝试,通过对红色像素的判定,这点倒不是问题,但是仍然无法实现。

其一,这个红色要如何取得并带入到所处的角色或者事件的一个属性里?
其二,这个Z坐标应该在哪里更改,并且在准确的时间内设定。
其三,就是要求角色和所有的事件都能具有这一属性。

我不需要直接的答案,比起直接给我一段脚本,我更希望有人把方法告诉给我,自己刚才尝试了下没有行得通,希望诸君能一起进来讨论,一同思考解决方式,来完善这个脚本。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 幻の飞鱼    时间: 2007-8-2 03:32
吃饭前看到这个帖子,随便说两句

我的思路是星子以前做过的一个,,在树后面人物半透明

星子当时是在人物上面再描绘了一个半透明的人物



同理,判断到红色后,在人物或事件的位置上,用比较高的Z,再描绘一个人物,也就是新描绘的一个高Z重叠图案来代替被遮挡了的真实角色

这比直接修改人物的Z似乎要来的方便一些



我大概是这样理解程序的写法的,

1.人物位置移动为触发条件,判断角色当前位置的通行图颜色

2.判断到颜色为红色时,调用描绘方法,传递角色或事件参数给方法

3.描绘方法里 据传递来的参数,选择对应的行走图,描绘在角色当前位置

4,一旦离开红色,就不会调用描绘方法,只要即时清楚,之前描绘的即可

这样的方法就避免了,去考虑,什么时候增加Z,什么时候减少Z,和是否会累加Z的等等麻烦

但只是个思路,具体实现,对我还是比较有难度- - [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 小真·爱舞    时间: 2007-8-2 03:39
我感觉你的这个方法更麻烦。
之前我的尝试是能够通过全局变量来判断是否在red上,但是无法判断是那个角色或者事件处在red上。
改变z坐标是调用一个新的viewport,比如@viewport5 = Viewport.new(0, 0, 640, 480),然后根据全局变量red在update里更新@viewport5的z坐标,但是很明显,这样会非常卡,且无法做到所有角色都能自己决定是否处在red上。
作者: 美兽    时间: 2007-8-2 03:48
不是很难,
因为没有RM,只能做提醒,
关键就两点,
1:利用tileset取色
2:利用Game_Character的def screen_z做分歧,

仅此而已。 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 永劫的咎人    时间: 2007-8-2 03:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小真·爱舞    时间: 2007-8-2 04:05
以下引用美兽于2007-8-1 19:48:29的发言:

不是很难,
因为没有RM,只能做提醒,
关键就两点,
1:利用tileset取色
2:利用Game_Character的def screen_z做分歧,

仅此而已。


1:利用tileset取色
这一点不明白...我对于取色还不熟练,或者说..是今天才研究这玩意的。

2:利用Game_Character的def screen_z做分歧
找到了screen_z,分歧方面我想还是需要通过1来给角色取得一个属性吧。

不过大概已经明白了原理,还是谢谢美兽。


现在就是想要知道如何让每一个角色的带上它所处位置的颜色了.....
作者: 美兽    时间: 2007-8-2 04:11
在Game_Character添加个新属性放颜色值,
那些X,Y什么的其实就可当作属性之类的东西。
作者: 小真·爱舞    时间: 2007-8-2 04:12
以下引用美兽于2007-8-1 20:11:24的发言:

在Game_Character添加个新属性放颜色值,
那些X,Y什么的其实就可当作属性之类的东西。


一开始就是这么想的...
我去自己想一会...
作者: 月過の無痕    时间: 2007-8-4 05:57
....话说..还没什么进展啊{/hx}
作者: 月過の無痕    时间: 2007-8-4 05:57
....话说..还没什么进展啊{/hx}
作者: simounF    时间: 2007-8-4 08:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小真·爱舞    时间: 2007-8-4 21:25
要怎样取得 panorama_tag 呢...
取得颜色倒是会,但是这个要取得的颜色的坐标位置应该如何确定?
作者: K’    时间: 2007-8-4 22:14
http://rpg.blue/upload_program/files/kk_C8.rar

无聊研究了一下 居然成功了 不过只改了主角的{/hx}

感谢美兽的提醒

走到左下角红色的地方 Z坐标会提高

搜索 #kk 是修改的地方 漏标了一句
z = @z == 0 ? (@real_y - $game_map.display_y + 3) / 4 + 32 : @z

嗯,希望小真能把游戏做得更华丽。 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 小真·爱舞    时间: 2007-8-5 01:51
呼..谢天谢地...
一顿修改以后终于成功了= =||||
感谢K..已经明白了为什么,也谢谢所有帮助我的大家。
结贴。




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