RPG厂商XP做游戏
#■人们追随
# -
#
#这个剧本来自www.66RPG.com。使用和转载时请保留这些信息。
#
#作者:福山
#
#移植:ONEWateR
#
#==============================================================================
模块训练_演员
#是否使用停止跟随的方法,即此处false变为true时,如果TRANSPARENT_SWITCHES_INDEX
#打开开关,跟随的人就会消失(其实只是变透明了)。
透明开关=真
TRANSPARENT _ SWITCHES _ INDEX = 1
#例:如果第一个是真的,第二个是20,打开20号开关,后面的人都没了。
#最大关注人数可以改成2,3什么的。
TRAIN_ACTOR_SIZE_MAX = 4
#固定数量
DOWN_LEFT = 1
DOWN_RIGHT = 3
向上向左= 7
向上_向右= 9
跳转= 5
班级游戏_聚会_演员& lt游戏_角色
定义初始化
超级()
@through = true
结束
定义设置(演员)
如果演员!=零
@ character _ index = actor . character _ index
@ character _ name = actor . character _ name
@priority_type = 1
其他
@character_name = " "
@character_index = 0
@priority_type = 1
结束
#不透明と合成法と原始化
@不透明度= 255
@blend_type = 0
结束
# -
# ●下移。
# turn _ enabled: そのののきㇹをするフラグ.
# -
def下移(turn_enabled = true)
#向下方向
如果turn_enabled
关小
结束
#交通便利的地方。
如果新_过得去?(@x,@y,Input::DOWN)
#向下方向
关小
#坐标更新
@y += 1
结束
结束
# -
# ●向左移动。
# turn _ enabled: そのののきㇹをするフラグ.
# -
def move_left(turn_enabled = true)
#向左方向
如果turn_enabled
向左转
结束
#交通便利的地方。
如果新_过得去?(@x,@y,Input::LEFT)
#向左方向
向左转
#坐标更新
@x -= 1
结束
结束
# -
# ●向右移动
# turn _ enabled: そのののきㇹをするフラグ.
# -
定义右移(turn_enabled = true)
#正确的方向
如果turn_enabled
向右转
结束
#交通便利的地方。
如果新_过得去?(@x,@y,Input::RIGHT)
#正确的方向
向右转
#坐标更新
@x += 1
结束
结束
# -
# ●上移。
# turn _ enabled: そのののきㇹをするフラグ.
# -
def move_up(turn_enabled = true)
#向上方向
如果turn_enabled
转起来
结束
#交通便利的地方。
如果新_过得去?(@x,@y,Input::UP)
#向上方向
转起来
#坐标更新
@y -= 1
结束
结束
# -
# ●向左下方移动。
# -
定义移动_左下
#在固定到方向的情况下。
除非@方向_固定
# きだったはを, きだ, ったはく, はく, く
@direction = (@direction == Input::对?输入::左:@方向==输入::上?输入::向下:@方向)
结束
#向下→向左→向下のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::DOWN)和new_passable?(@x,@y + 1,Input::LEFT))或者
(新_过得去?(@x,@y,Input::LEFT)和new_passable?(@x - 1,@y,Input::DOWN))
#坐标更新
@x -= 1
@y += 1
结束
结束
# -
# ●向右下方移动。
# -
定义右移_下_右
#在固定到方向的情况下。
除非@方向_固定
# きだった场合はをきだった场合はをくた场合はく.
@方向=(@方向==输入::左?Input::右:@direction == Input::UP?输入::向下:@方向)
结束
#下→右,右→下のどちらかのコースがな,那里可以通行。
if (new_passable?(@x,@y,Input::DOWN)和new_passable?(@x,@y + 1,Input::RIGHT))或者
(新_过得去?(@x,@y,Input::RIGHT)和new_passable?(@x + 1,@y,Input::DOWN))
#坐标更新
@x += 1
@y += 1
结束
结束
# -
# ●左右移动。
# -
定义移动_左上
#在固定到方向的情况下。
除非@方向_固定
# きだった场合はをきだった场合はががった场合はく.
@direction = (@direction == Input::对?Input::左:@direction == Input::DOWN?输入::向上:@方向)
结束
#向上→向左→向上のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::UP)和new_passable?(@x,@y - 1,Input::LEFT))或者
(新_过得去?(@x,@y,Input::LEFT)和new_passable?(@x - 1,@y,Input::UP))
#坐标更新
@x -= 1
@y -= 1
结束
结束
# -
# ●向右移动。
# -
定义移动_右上_右
#在固定到方向的情况下。
除非@方向_固定
# きだった场合はをきだった场合はをくた场合はく.
@方向=(@方向==输入::左?Input::右:@direction == Input::DOWN?输入::向上:@方向)
结束
#向上→右,右→向上のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::UP)和new_passable?(@x,@y - 1,Input::RIGHT))或者
(新_过得去?(@x,@y,Input::RIGHT)和new_passable?(@x + 1,@y,Input::UP))
#坐标更新
@x += 1
@y -= 1
结束
结束
属性_编写器:移动_速度
attr_writer:步_动漫
结束
模块精灵set_Map_Module
def设置_演员_角色_精灵?
return @ setup _ actor _ character _ sprites _ flag!=零
结束
定义设置_演员_角色_精灵(角色)
如果!设置_演员_角色_精灵?
索引_游戏_玩家= 0
@ character _ sprites . each _ index do | I |
if @ character _ sprites[I]. character . instance _ of?(游戏_玩家)
索引_游戏_玩家= i
破裂
结束
结束
用于字符中的字符。反转
@character_sprites.unshift(
sprite _ Character . new(@ viewport 1,character)
)
结束
@ setup _ actor _ character _ sprites _ flag = true
结束
结束
结束
模块场景_地图_模块
def设置_演员_角色_精灵(角色)
@ spriteset . setup _ actor _ character _ sprites(characters)
结束
结束
模块游戏_聚会_模块
定义集合_透明_演员(透明)
@transparent =透明
结束
定义设置_演员_角色_精灵
如果@characters == nil
@characters = []
对于1中的I...火车_演员_尺寸_最大
@ characters . push(Game _ Party _ acter . new)
结束
结束
对于1中的I...火车_演员_尺寸_最大
@characters[i - 1]。设置($game_party.members[i])
结束
如果$scene.class.method_defined?('设置_演员_角色_精灵')
$ scene . setup _ actor _ character _ sprites(@ characters)
结束
结束
定义更新_交易方_参与者
设置_演员_角色_精灵
transparent = $ game _ player . transparent
如果透明==假
如果透明_开关
TRANSPARENT = $ game _ SWITCHES[TRANSPARENT _ SWITCHES _ INDEX]
结束
结束
对于@characters中的字符
字符.透明=透明
如果$game_player.dash?
character . move _ speed = $ game _ player . move _ speed * 1.25
其他
character . move _ speed = $ game _ player . move _ speed
结束
character . step _ anime = $ game _ player . step _ anime
字符.更新
结束
结束
定义moveto_party_actors( x,y)
设置_演员_角色_精灵
对于@characters中的字符
character.moveto( x,y)
结束
if @move_list == nil
@move_list = []
结束
移动_列表_设置
结束
定义移动_派对_演员
if @move_list == nil
@move_list = []
移动_列表_设置
结束
@move_list.each_index do |i|
if @characters[i]!=零
case @move_list[i]。类型
当输入::向下
@characters[i]。move_down(@move_list[i])。args[0])
当输入::左
@characters[i]。move_left(@move_list[i])。args[0])
当输入::右
@characters[i]。move_right(@move_list[i])。args[0])
输入时::向上
@characters[i]。move_up(@move_list[i])。args[0])
当向左下方时
@characters[i]。向左下方移动
右下方时
@characters[i]。右下移动
当向左上方时
@characters[i]。向左上方移动
右上方时
@characters[i]。向右上方移动
跳跃时
@characters[i]。跳转(@move_list[i])。args[0],@move_list[i]。args[1])
结束
结束
结束
结束
类移动列表元素
定义初始化(类型,参数)
@type = type
@args = args
结束
def type()返回@type end
def args()返回@args end
结束
定义移动_列表_设置
对于0中的I..火车_演员_尺寸_最大
@move_list[i] = nil
结束
结束
def add_move_list(类型,*参数)
@ Move _ List . un shift(Move _ List _ element . new(type,args))。流行音乐
结束
def move _ down _ party _ actors(turn _ enabled = true)
移动_派对_演员
add_move_list(Input::DOWN,turn_enabled)
结束
def move _ left _ party _ actors(turn _ enabled = true)
移动_派对_演员
add_move_list(Input::LEFT,turn_enabled)
结束
def move _ right _ party _ actors(turn _ enabled = true)
移动_派对_演员
add_move_list(Input::RIGHT,turn_enabled)
结束
def move _ up _ party _ actors(turn _ enabled = true)
移动_派对_演员
add_move_list(Input::UP,turn_enabled)
结束
定义move_lower_left_party_actors
移动_派对_演员
添加_移动_列表(左下)
结束
定义move_lower_right_party_actors
移动_派对_演员
添加_移动_列表(右下)
结束
定义move_upper_left_party_actors
移动_派对_演员
add_move_list(左上)
结束
定义move_upper_right_party_actors
移动_派对_演员
添加_移动_列表(向上_向右)
结束
定义跳转_party_actors(x_plus,y_plus)
移动_派对_演员
add_move_list(跳转,x_plus,y_plus)
结束
结束
模块游戏_玩家_模块
定义更新
$ game _ party . update _ party _ actors
极好的
结束
定义移动到(x,y)
$ game _ party . move to _ party _ actors(x,y)
超级(x,y)
结束
def下移(turn_enabled = true)
如果新_过得去?(@x,@y,Input::DOWN)
$ game _ party . move _ down _ party _ actors(回合启用)
结束
超级(转弯启用)
结束
def move_left(turn_enabled = true)
如果新_过得去?(@x,@y,Input::LEFT)
$ game _ party . move _ left _ party _ actors(回合启用)
结束
超级(转弯启用)
结束
定义右移(turn_enabled = true)
如果新_过得去?(@x,@y,Input::RIGHT)
$ game _ party . move _ right _ party _ actors(回合启用)
结束
超级(转弯启用)
结束
def move_up(turn_enabled = true)
如果新_过得去?(@x,@y,Input::UP)
$ game _ party . move _ up _ party _ actors(回合启用)
结束
超级(转弯启用)
结束
定义移动_左下
#向下→向左→向下のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::DOWN)和new_passable?(@x,@y + 1,Input::LEFT))或者
(新_过得去?(@x,@y,Input::LEFT)和new_passable?(@x - 1,@y,Input::DOWN))
$ game _ party . move _ lower _ left _ party _ actors
结束
极好的
结束
定义右移_下_右
#下→右,右→下のどちらかのコースがな,那里可以通行。
if (new_passable?(@x,@y,Input::DOWN)和new_passable?(@x,@y + 1,Input::RIGHT))或者
(新_过得去?(@x,@y,Input::RIGHT)和new_passable?(@x + 1,@y,Input::DOWN))
$ game _ party . move _ lower _ right _ party _ actors
结束
极好的
结束
定义移动_左上
#向上→向左→向上のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::UP)和new_passable?(@x,@y - 1,Input::LEFT))或者
(新_过得去?(@x,@y,Input::LEFT)和new_passable?(@x - 1,@y,Input::UP))
$ game _ party . move _ upper _ left _ party _ actors
结束
极好的
结束
定义移动_右上_右
#向上→右,右→向上のどちらかのコースがWhere交通是可能的。
if (new_passable?(@x,@y,Input::UP)和new_passable?(@x,@y - 1,Input::RIGHT))或者
(新_过得去?(@x,@y,Input::RIGHT)和new_passable?(@x + 1,@y,Input::UP))
$ game _ party . move _ upper _ right _ party _ actors
结束
极好的
结束
定义跳转(x+和y+)
#新坐标计算
新x = @x + x加
new_y = @y + y_plus
#添加“ヤが (0,0) のか,ジャンプががががなががががががががが12364
if (x_plus == 0且y_plus == 0)或new_passable?(新x,新y,0)
$ game _ party . jump _ party _ actors(x _ plus,y_plus)
结束
超级(x加,y加)
结束
属性访问器:移动速度
attr _ access:step _ anime
结束
结束#模块Train_Actor
班级游戏_聚会
包含训练_演员::游戏_聚会_模块
结束
班级游戏_玩家
包含训练_演员::游戏_玩家_模块
结束
类精神集合_映射
包含Train _ Actor::Spriteset _ Map _ Module
结束
班级场景_地图
包含训练_演员::场景_地图_模块
结束
班级游戏_角色
def new_passable?(x,y,d)
new_x = x + (d == 6?1 : d == 4?-1 : 0)
new_y = y + (d == 2?1 : d == 8?-1 : 0)
除非$game_map.valid?(新x,新y)
返回false
结束
X = $game_map.round_x(x) #水平循环修正
Y = $game_map.round_y(y) #垂直循环修正
除非$game_map.valid,否则返回false?(x,y) #离开地图?
如果@through或者debug_through返回true?#穿过去?
除非map_passable否则返回false?(new_x,new_y) #地图无法通行?
如果collide_with_characters返回false?(new_x,new_y) #与角色冲突?
Return true #还过得去。
结束
结束
粘贴