Project1
标题:
弹性滚动地图使得事件中地图卷动失效的解决办法
[打印本页]
作者:
我是老A
时间:
2016-2-9 22:49
标题:
弹性滚动地图使得事件中地图卷动失效的解决办法
本帖最后由 我是老A 于 2016-2-9 22:53 编辑
在使用弹性地图滚动后,会发现在事件中的地图滚动失效了,只会稍微滚动一下就弹回主角了。对于我们这些脚本盲我们不会大改脚本,但我们玩小手段。
对这个脚本(话说脚本框怎么用为啥找不到了,为啥不能插图片)
=========================================================================
# ■ 弹性滚动地图 V 1.00 BY SLICK
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
# 我:。。。这个黄金版已经被改的面目全非了
#==============================================================================
class Game_Player < Game_Character
MOVESPEA= 0.265625 #这里改
def update_scroll(last_real_x, last_real_y)
ax1 = $game_map.adjust_x(last_real_x)
ay1 = $game_map.adjust_y(last_real_y)
ax2 = $game_map.adjust_x(@real_x)
ay2 = $game_map.adjust_y(@real_y)
movespeb = (2 ** (@move_speed+1))*MOVESPEA #这里改
movesped = movespeb / Graphics.width
movespec = movespeb / Graphics.height
tmp=center_x-ax2
$game_map.scroll_left(movesped*tmp) if tmp>0
$game_map.scroll_right(-movesped*tmp) if tmp<0
tmp=center_y-ay2
$game_map.scroll_up(movespec*tmp) if tmp>0
$game_map.scroll_down(-movespec*tmp) if tmp<0
end
end
复制代码
把里面的MOVESPEA前加上个$
变成
$MOVESPEA
复制代码
话说这是不是变成了全局变量?不懂,只知道这么能办。
在需要卷动时在前面插入脚本
$MOVESPEA = 1
复制代码
卷动结束后在后面再恢复
$MOVESPEA = 0.265625
复制代码
这样只是在卷动时不会有弹性效果,实现共存了。
如果忘记恢复,地图就不会卷动了,所以务必要恢复。
不知道你们明白不,我也不知道原理,随便蒙的。如果有大神愿意给我讲讲,我也谢谢了。我搜了一下大概没有重复的吧。
作者:
我是老A
时间:
2016-2-10 23:45
这个还有个好处,当你把$MOVESPEA改回成0.265625,画面会自动弹回去,就免去了再卷动回去的麻烦。
作者:
duzine
时间:
2016-2-13 12:53
剛好很需要! 終於有人注意到這個問題
不過看起來樓主也不是很懂原理,就看有沒有大神路過抓幾隻蟲子走再用用看
(先收藏了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1