Project1

标题: 这个脚本谁给个范例,怎么用? [打印本页]

作者: ichijouziken    时间: 2009-6-8 04:35
标题: 这个脚本谁给个范例,怎么用?
脚本也是吧里人做的,谁能给个范例……这个具体怎么用啊

#==================================================================
#使跳跃支持变量操作
#
#使用方法,约定如下
# 当x坐标设定为99时,跳跃步数为 变量甲
# 当y坐标设定为99时,跳跃步数为 变量乙
#  变量甲 乙,在脚本中设定,在跳跃之前
# 先处理这两个变量,然后跳跃步数填为99级可
#====================================================================
class Game_Character
  #--------------------------------------------------------------------------
  # ● 跳跃
  #     x_plus : X 坐标增加值
  #     y_plus : Y 坐标增加值
  #--------------------------------------------------------------------------
  def jump(x_plus, y_plus)
    # 增加值不是 (0,0) 的情况下
    @swtf_x = 1                            #当填写99时,x使用变量ID
    @swtf_y = 2                            #当填写99时,y使用变量ID
   x_plus = $game_variables[@swtf_x] if x_plus = 99
   y_plus = $game_variables[@swtf_y] if x_plus = 99
    if x_plus != 0 or y_plus != 0
      # 横侧距离长的情况下
      if x_plus.abs > y_plus.abs
        # 变更左右方向
        x_plus < 0 ? turn_left : turn_right
      # 竖侧距离长的情况下
      else
        # 变更上下方向
        y_plus < 0 ? turn_up : turn_down
      end
    end
    # 计算新的坐标
    new_x = @x + x_plus
    new_y = @y + y_plus
    # 增加值为 (0,0) 的情况下、跳跃目标可以通行的场合
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
      # 矫正姿势
      straighten
      # 更新坐标
      @x = new_x
      @y = new_y
      # 距计算距离
      distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
      # 设置跳跃记数
      @jump_peak = 10 + distance - @move_speed
      @jump_count = @jump_peak * 2
      # 清除停止记数信息
      @stop_count = 0
    end
  end
end [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: kakarot    时间: 2009-6-8 04:52
插到main前面应该就可以了吧,想用变量控制某个方向跳跃幅度的话就把该方向设为99,然后角色就会按变量1或者2的大小来跳跃~这个参考脚本开头的说明就行了~
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: ichijouziken    时间: 2009-6-13 01:19
99是什么,开关,还是变量?
用的时候应该怎么写?
我对脚本一点都不懂麻烦说的尽量详尽啊!{/dk}
作者: kakarot    时间: 2009-6-13 01:42
在事件里设置跳跃幅度的时候不是会让你输入两个坐标的大小吗,如果某个方向想用变量控制的话把大小输成99就行了~

举例而言:
想让角色跳跃的幅度为:横向向右X格,纵向向左3格,其中X由变量1的值来决定,就执行跳跃,并将X设为99,Y设为3就可以了~

以上..




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