Project1
标题:
求教全动画战斗中光标的问题
[打印本页]
作者:
步兵中尉
时间:
2008-8-27 08:03
标题:
求教全动画战斗中光标的问题
用了站上的全动画战斗的脚本,并改了下光标的位置,发现人物始终在光标之上!
请教一下怎么才能像平常一样光标盖住人物。
[LINE]1,#dddddd[/LINE]
此贴于 2008-8-30 11:43:45 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2008-9-1 12:22:14 被版主darkten提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
本贴由论坛斑竹havealook结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^
[LINE]1,#dddddd[/LINE]
此贴于 2008-9-2 11:15:04 被版主darkten提醒,请楼主看到后对本贴做出回应。
作者:
lhbadsl
时间:
2008-8-27 20:28
用了站上的全动画战斗的脚本,并改了下光标的位置,发现人物始终在光标之上!
请教一下怎么才能像平常一样光标盖住人物。
Arrow_Enemy类中修改,箭头光标的z坐标,把它改为9999
作者:
步兵中尉
时间:
2008-8-27 23:36
已经修改过了,还是无济于事。
作者:
幽月
时间:
2008-8-28 01:12
提示:
作者被禁止或删除 内容自动屏蔽
作者:
lhbadsl
时间:
2008-8-28 06:48
全动画脚本修改了敌人箭头的类,那么在其上一定是重新定义了class Arrow_Enemy < Arrow_Base类的update方法,所以你在Arrow_Enemy类修改不起作用(原因是rgss的脚本优先原则)。。。。你可以去全动画脚本中查找class Arrow_Enemy < Arrow_Base这个,因为这个脚本不可能重新写了一个敌人箭头类出来(毫无必要吗,作者不会在上面浪费气力的,应该。。。{/gg},如果是我的话就肯定不会)。。。必然是重新定义过的,那么在其上查找class Arrow_Enemy < Arrow_Base就一定可以找到,在这个上找到def update方法,重新修改它的箭头z坐标,这个是应该是起作用的。因为这个脚本我没有研究过,如果它的箭头动画都是在数据库设定的,那么可能不行。。。不过这种可能性非常小,除非作者没事干才会特别搞过这个东西,这个是我对全动画脚本的猜想,因为如果是我写的话战斗系统不会写得这么精细,所以这个办法有90%的几率行。。。。如果再不行,你回帖告诉我,我会看看这个脚本的箭头是在那定义的。。。。。不过你还是先自己试试。。因为等我的话会很久哦{/gg}
作者:
步兵中尉
时间:
2008-8-28 07:32
还是不行。这次我把那段脚本一起发上来,请诸位大侠帮忙看看!
http://rpg.blue/web/htm/news729.htm
作者:
lhbadsl
时间:
2008-8-28 10:32
还是不行。这次我把那段脚本一起发上来,请诸位大侠帮忙看看!
这个战斗脚本貌似还不是真的一般多bug。。。。。有这么多人提出问题。。。
class Arrow_Enemy < Arrow_Base
#--------------------------------------------------------------------------
# ● 获取光标指向的敌人
#--------------------------------------------------------------------------
def enemy
return $game_troop.enemies[@index]
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
# 如果指向不存在的敌人就离开
$game_troop.enemies.size.times do
break if self.enemy.exist?
@index += 1
@index %= $game_troop.enemies.size
end
# 光标右
if Input.repeat?(Input::RIGHT)
$game_system.se_play($data_system.cursor_se)
$game_troop.enemies.size.times do
@index += 1
@index %= $game_troop.enemies.size
break if self.enemy.exist?
end
end
# 光标左
if Input.repeat?(Input::LEFT)
$game_system.se_play($data_system.cursor_se)
$game_troop.enemies.size.times do
@index += $game_troop.enemies.size - 1
@index %= $game_troop.enemies.size
break if self.enemy.exist?
end
end
# 设置活动块坐标
if self.enemy != nil
self.x = self.enemy.screen_x + self.ox
self.y = self.enemy.screen_y + self.oy
end
end
end
复制代码
脚本中楼主这一段真的看过了吗?
# 设置活动块坐标
if self.enemy != nil
self.x = self.enemy.screen_x + self.ox
self.y = self.enemy.screen_y + self.oy
end
复制代码
这里加上一句self.z=9999变为
# 设置活动块坐标
if self.enemy != nil
self.x = self.enemy.screen_x + self.ox
self.y = self.enemy.screen_y + self.oy
self.z = 9999
end
复制代码
应该可以了,但是如果这样都解决不了问题那么可能是,动画的z坐标实在是太高了,可能要改动另外一个地方。。。。或者是你的写法有问题(有时语法有误会令到语句不起作用),按照我的改应该是可以ko这个问题的
作者:
步兵中尉
时间:
2008-8-28 20:13
可是我最早就是这种方法啊,依然不行,而且有时候光标还消失了。
作者:
步兵中尉
时间:
2008-8-31 18:36
这么快就被版主提醒了,难道真的没有解决的方法了?
作者:
步兵中尉
时间:
2008-9-2 07:26
想不到这么久都找不到答案。
再把它放到前面一次吧!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1