Project1
标题:
关于雪流星大大的滑动脚本的使用方法
[打印本页]
作者:
黑崎一护
时间:
2012-9-2 13:35
标题:
关于雪流星大大的滑动脚本的使用方法
本帖最后由 黑崎一护 于 2012-9-2 14:32 编辑
看不懂这个使用说明,请问如何使用该脚本调整原有窗口的滑动呢?比如主菜单。
论坛代码又开始插入不能了~一插入就一片白~待会补个附件 = =
附件:
新地图1.rar
(266.53 KB, 下载次数: 0)
2012-9-2 14:32 上传
点击文件名下载附件
#==============================================================================
# ■ [VX] 窗口滑动
# [VX] WindowSlide
#----------------------------------------------------------------------------
# 使用说明:
# 创建窗口之后,可以使用调整窗口的座标,并且将窗口滑动到指定位置。
# 可用于制作华丽菜单显示效果
# * 窗口.in(方向[, 移动距离])
# 方向可以为 2(下), 4(左), 6(右), 8(上)
# 移动距离默认为 10
# 将窗口滑动至画面外。
#
# * 窗口.out(方向[, 移动距离])
# 方向可以为 2(下), 4(左), 6(右), 8(上)
# 移动距离默认为 10
# 将窗口由画面外滑动至原位。
#
# * 窗口.move_to(目标 X 座标, 目标 Y 座标[, 移动距离])
# 移动距离默认为 10
# 将窗口滑动至指定座标。
#
#----------------------------------------------------------------------------
# 更新作者: 雪流星(Snstar2006) DeathKing
# 许可协议: FSL
# 项目版本: 1.1.0131
# 引用网址:
#----------------------------------------------------------------------------
# - 1.2.0131 By DeathKing
# * 修正了move_to方法中的一个拼写错误导致的死循环;
#
# - 1.1.0121 By 雪流星(Snstar2006)
# * 修改算法,省去计算根号的步骤,稍微提高效率;
#
# - 1.0.0121 By 雪流星(Snstar2006)
# * 初版;
#==============================================================================
$fscript = {} if $fscript == nil
$fscript["WindowSlide"] = "1.2.0131"
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类。
#==============================================================================
class Window_Base < Window
alias move_window_initialize initialize
def initialize(x, y, width, height)
move_window_initialize(x, y, width, height)
@permanent_x = x
@permanent_y = y
end
#--------------------------------------------------------------------------
# ● 窗体划出
# direction : 方向
# step : 移动的步长
#--------------------------------------------------------------------------
def in(direction, step=10)
case direction
when 2
move_to(self.x, -self.height, step)
when 4
move_to(-self.width, self.y, step)
when 6
move_to(Graphics.width + self.width, self.y, step)
when 8
move_to(self.x, Graphics.height + self.height, step)
end
Graphics.wait(1)
end
#--------------------------------------------------------------------------
# ● 窗体划回
# direction : 方向
# step : 移动的步长
#--------------------------------------------------------------------------
def out(direction, step=10)
case direction
when 2, 8
move_to(self.x, @permanent_y, step)
when 4, 6
move_to(@permanent_x, self.y, step)
end
end
#--------------------------------------------------------------------------
# ● 移动窗体
# dest_x : 目的地x坐标
# dest_y : 目的地y坐标
# move_step : 移动的步长
#--------------------------------------------------------------------------
def move_to(dest_x, dest_y, move_step=10)
dx = dest_x - self.x
dy = dest_y - self.y
if dx == 0
dy_step = move_step
dx_step = 0
elsif dy == 0
dx_step = move_step
dy_step = 0
else
max_distance_sq = dx**2+dy**2
angle = Math.atan(dy.abs/dx.abs)
dy_step = move_step*Math.sin(angle)
dx_step = max_distance_sq - dy_step**2
end
while (self.x != dest_x || self.y != dest_y)
if dx > 0
self.x = [self.x + dx_step, dest_x].min
else
self.x = [self.x - dx_step, dest_x].max
end
if dy > 0
self.y = [self.y + dy_step, dest_y].min
else
self.y = [self.y - dy_step, dest_y].max
end
Graphics.wait(1)
end
end
end dsu_plus_rewardpost_czw
作者:
丿梁丶小柒
时间:
2012-9-2 14:17
请附上脚本
作者:
铅笔描绘的思念
时间:
2012-9-2 16:02
其实说的很清楚了。。窗口其实代表的是这个窗口变量比如在菜单中的一段
@gold_window = Window_Gold.new(0, 360)
复制代码
想要把@gold_window移动到0,0的位置就用@gold_window.move_to(0, 0)来移动到0,0的位置
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1