Project1
标题:
待机动作脚本遇到的小问题,请高手解答
[打印本页]
作者:
zang3649758
时间:
2011-6-17 18:10
标题:
待机动作脚本遇到的小问题,请高手解答
游戏运行时最后那行出现报错,不知道是哪里出了问题……
class Game_Character
attr_accessor :time
attr_accessor :step_anime_in
#..........................................................................
attr_accessor :old_character
#..........................................................................
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
alias old_ini initialize
def initialize
old_ini
@old_character = ""
@time = 0
@step_anime_in = 0
end
TIME_LIMIT = 2 # 抓耳挠腮前的等待时间 (好象也不是帧…不知道是什么单位了)
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
if self.is_a?(Game_Player)# or @event.name.split(/,/)[0]=="我军"
if @time == TIME_LIMIT
temp_rand = rand(2) + 1
@character_name = @old_character + "_W" + temp_rand.to_s
@step_anime_in = 1
if not @step_anime_must_off
@step_anime = true
end
@time = TIME_LIMIT + 1
elsif @time < TIME_LIMIT(就是这行)
…………………………后面还有,就不粘贴了
zang3649758于2011-6-17 20:12补充以下内容:
没人吗- - dsu_plus_rewardpost_czw
作者:
flzt5354
时间:
2011-6-17 21:18
什么错也不说,天知道,代码也不完整,怎么看
elsif @time < TIME_LIMIT
如果时间少于2,
执行你没粘贴的代码=。=
作者:
zhixin1997
时间:
2011-6-17 21:22
球完整代码
作者:
zang3649758
时间:
2011-6-17 22:34
本帖最后由 zang3649758 于 2011-6-17 22:39 编辑
未命名2.jpg
(11.66 KB, 下载次数: 5)
下载附件
保存到相册
2011-6-17 22:39 上传
完整的- -
class Game_Character
attr_accessor :time
attr_accessor :step_anime_in
#..........................................................................
attr_accessor :old_character
#..........................................................................
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
alias old_ini initialize
def initialize
old_ini
@old_character = ""
@time = 0
@step_anime_in = 0
end
TIME_LIMIT = 2 # 抓耳挠腮前的等待时间 (好象也不是帧…不知道是什么单位了)
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
if self.is_a?(Game_Player)# or @event.name.split(/,/)[0]=="我军"
if @time == TIME_LIMIT
temp_rand = rand(2) + 1
@character_name = @old_character + "_W" + temp_rand.to_s
@step_anime_in = 1
if not @step_anime_must_off
@step_anime = true
end
@time = TIME_LIMIT + 1
elsif @time < TIME_LIMIT
@step_anime_in = 0
if not @step_anime_must_on
@step_anime = false
end
end
if moving? or @move_route_forcing or $game_system.map_interpreter.running?
@time = 0
@character_name = @old_character
end
if $game_temp.message_window_showing
if not @step_anime_must_on
@step_anime = false
end
end
unless moving?
@time += 1 if @time < TIME_LIMIT
end
end
# 跳跃中、移动中、停止中的分支
if jumping?
update_jump
elsif moving?
update_move
else
update_stop
end
# 动画计数超过最大值的情况下
# ※最大值等于基本值减去移动速度 * 1 的值
if @anime_count > 16 * 4/$c3_每一步的帧数 - @move_speed # * 2#18 - @move_speed * 2
# 停止动画为 OFF 并且在停止中的情况下
if not @step_anime and @stop_count > 0
# 还原为原来的图形
@pattern = @original_pattern
# 停止动画为 ON 并且在移动中的情况下
else
# 更新图形
@pattern = (@pattern + 1) % $c3_每一步的帧数
end
# 清除动画计数
@anime_count = 0
end
# 等待中的情况下
if @wait_count > 0
# 减少等待计数
@wait_count -= 1
return
end
# 强制移动路线的场合
if @move_route_forcing
# 自定义移动
move_type_custom
return
end
# 事件执行待机中并且为锁定状态的情况下
if @starting or lock?
# 不做规则移动
return
end
# 如果停止计数超过了一定的值(由移动频度算出)
if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
# 移动类型分支
case @move_type
when 1 # 随机
move_type_random
when 2 # 接近
move_type_toward_player
when 3 # 自定义
move_type_custom
end
end
end
end
class Game_Event < Game_Character
attr_reader :event
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
# 同伴人数为 0 的情况下
if $game_party.actors.size == 0
# 清除角色的文件名及对像
#......................................................................
@old_character = ""
#......................................................................
@character_name = ""
@character_hue = 0
# 分支结束
return
end
# 获取带头的角色
actor = $game_party.actors[0]
# 设置角色的文件名及对像
@character_name = actor.character_name
#........................................................................
@old_character = actor.character_name
#........................................................................
@character_hue = actor.character_hue
# 初始化不透明度和合成方式子
@opacity = 255
@blend_type = 0
end
end
zang3649758于2011-6-17 22:37补充以下内容:
进入游戏后,点开始游戏,显示的
作者:
懒De说
时间:
2011-6-18 09:16
错误提示是什么?
作者:
zang3649758
时间:
2011-6-18 14:04
懒De说 发表于 2011-6-18 09:16
错误提示是什么?
elsif @time < TIME_LIMIT
错误的那行
作者:
懒De说
时间:
2011-6-18 15:51
本帖最后由 懒De说 于 2011-6-18 15:52 编辑
#==============================================================================
# 本脚本来自www.66rpg.com,转载和使用请保留此信息
#==============================================================================
#==============================================================================
# ■ Game_Character (分割定义 1)
#------------------------------------------------------------------------------
# 处理角色的类。本类作为 Game_Player 类与 Game_Event
# 类的超级类使用。
#==============================================================================
class Game_Character
attr_accessor :time
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
alias old_ini initialize
def initialize
old_ini
@time = 0
end
end
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================
class Game_Player < Game_Character
TIME_LIMIT = 10 # 抓耳挠腮前的等待时间 (好象也不是帧…不知道是什么单位了)
#--------------------------------------------------------------------------
# ● 画面更新
#--------------------------------------------------------------------------
def update
# 本地变量记录移动信息
last_moving = moving?
if @time == TIME_LIMIT
@character_name = @character_name + "_W"
@scratch = true
@step_anime = true
@time = TIME_LIMIT + 1
elsif @time < TIME_LIMIT
@scratch = false
@step_anime = false
end
if @scratch == false
@old_pic = @character_name
end
# 移动中、事件执行中、强制移动路线中、
# 信息窗口一个也不显示的时候
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
# 如果方向键被按下、主角就朝那个方向移动
case Input.dir4
when 2
move_down
@time = 0
@scratch = false
@character_name = @old_pic
when 4
move_left
@time = 0
@scratch = false
@character_name = @old_pic
when 6
move_right
@time = 0
@scratch = false
@character_name = @old_pic
when 8
move_up
@time = 0
@scratch = false
@character_name = @old_pic
end
end
# 本地变量记忆坐标
last_real_x = @real_x
last_real_y = @real_y
super
# 角色向下移动、画面上的位置在中央下方的情况下
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
# 画面向下卷动
$game_map.scroll_down(@real_y - last_real_y)
end
# 角色向左移动、画面上的位置在中央左方的情况下
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
# 画面向左卷动
$game_map.scroll_left(last_real_x - @real_x)
end
# 角色向右移动、画面上的位置在中央右方的情况下
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
# 画面向右卷动
$game_map.scroll_right(@real_x - last_real_x)
end
# 角色向上移动、画面上的位置在中央上方的情况下
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
# 画面向上卷动
$game_map.scroll_up(last_real_y - @real_y)
end
# 不在移动中的情况下
unless moving?
@time += 1 if @time < TIME_LIMIT
# 上次主角移动中的情况
if last_moving
# 与同位置的事件接触就判定为事件启动
result = check_event_trigger_here([1,2])
# 没有可以启动的事件的情况下
if result == false
# 调试模式为 ON 并且按下 CTRL 键的情况下除外
unless $DEBUG and Input.press?(Input::CTRL)
# 遇敌计数下降
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 判定为同位置以及正面的事件启动
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end
#==============================================================================
# 本脚本来自www.66rpg.com,转载和使用请保留此信息
#==============================================================================
复制代码
给你这个吧
这个可以用
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1