赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 0 |
经验 | 0 |
最后登录 | 2012-4-25 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 135
- 在线时间
- 0 小时
- 注册时间
- 2012-4-25
- 帖子
- 2
|
本帖最后由 iisnow 于 2012-4-25 20:51 编辑
我弄好一个游戏发给我朋友帮我测试 结果他说换装备时出错了
D:我的文档Desktop
提示这个
但是我也跟他一样换武器(铁剑)
都没有问题 求高手帮忙看看啊- #队伍最大人数
- ACTORS = 5
- #战斗人数
- BATTLER_ACTORS =5
- #战斗画面修补
- #目标 3人 200, 4人 160, 5人 120
- SPRITES_BATTLER = 50
- #游戏开始时步行图的显示(1即是角色1的步行图,如此类推)
- CHARACTER_GRAPHIC = 1
- class Game_Party
- #--------------------------------------------------------------------------
- # ● 加入同伴
- # actor_id : 角色 ID
- #--------------------------------------------------------------------------
- def add_actor(actor_id)
- # 获取角色
- actor = $game_actors[actor_id]
- # 同伴人数未满 4 人、本角色不在队伍中的情况下
- if @actors.size < ACTORS and not @actors.include?(actor)
- # 添加角色
- @actors.push(actor)
- # 还原主角
- $game_player.refresh
- end
- end
- #--------------------------------------------------------------------------
- # ● 对像角色的顺序确定
- # actor_index : 角色索引
- #--------------------------------------------------------------------------
- def smooth_target_actor(actor_index)
- # 取得对像
- actor = actors[actor_index]
- # 对像存在的情况下
- if actor != nil and actor.exist?
- return actor
- end
- # 循环
- for actor in actors
- # 对像存在的情况下
- if actor.exist?
- return actor
- end
- end
- end
- end
- class Spriteset_Battle
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # viewport : 显示端口
- # battler : 战斗者 (Game_Battler) 以下重要
- #--------------------------------------------------------------------------
- def initialize
- # 生成显示端口
- @viewport1 = Viewport.new(0, 0, 640, 640)#320
- @viewport2 = Viewport.new(0, 0, 640, 480)
- @viewport3 = Viewport.new(0, 0, 640, 480)
- @viewport4 = Viewport.new(0, 0, 640, 480)
- @viewport2.z = 101
- @viewport3.z = 200
- @viewport4.z = 5000
- # 生成战斗背景活动块
- @battleback_sprite = Sprite.new(@viewport1)
- # 生成敌人活动块
- @enemy_sprites = []
- for enemy in $game_troop.enemies.reverse
- @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
- end
- # 生成敌人活动块
- @actor_sprites = []
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- if BATTLER_ACTORS > 4
- for i in 4...BATTLER_ACTORS
- @actor_sprites.push(Sprite_Battler.new(@viewport2))
- end
- end
- # 生成天候
- @weather = RPG::Weather.new(@viewport1)
- # 生成图片活动块
- @picture_sprites = []
- for i in 51..100
- @picture_sprites.push(Sprite_Picture.new(@viewport3,
- $game_screen.pictures[i]))
- end
- # 生成计时器块
- @timer_sprite = Sprite_Timer.new
- # 刷新画面
- update
- end
-
-
-
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- alias update_actor_change update
- def update
- if BATTLER_ACTORS > 4
- for i in 4...BATTLER_ACTORS
- @actor_sprites[i].battler = $game_party.actors[i]
- end
- end
- update_actor_change
- end
- end
- #以上重要
- #==============================================================================
- # ■ Scene_Menu
- #------------------------------------------------------------------------------
- # 处理菜单画面的类。
- #==============================================================================
- class Scene_Menu
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # menu_index : 命令光标的初期位置
- #--------------------------------------------------------------------------
- def initialize(menu_index = 0)
- @menu_index = menu_index
- @actor_change = false
- @actor_index = nil
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面 (状态窗口被激活的情况下)
- #--------------------------------------------------------------------------
- alias update_command_actor_change update_command
- def update_command
- # 元の処理を実行
- update_command_actor_change
- # 方向ボタンの左か右が押された场合
- if Input.trigger?(Input::LEFT) || Input.trigger?(Input::RIGHT)
- # 决定 SE を演奏
- $game_system.se_play($data_system.decision_se)
- @command_window.active = false
- @status_window.active = true
- @status_window.index = 0
- @actor_change = true
- @actor_index = nil
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面 (状态窗口被激活的情况下)
- #--------------------------------------------------------------------------
- def update_status
- # 按下 B 键的情况下
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 激活命令窗口
- @command_window.active = true
- @status_window.active = false
- @status_window.index = -1
- @actor_change = false
- return
- end
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- if @actor_change
- # 决定 SE を演奏
- $game_system.se_play($data_system.decision_se)
- if @actor_index == nil
- @actor_index = @status_window.index
- else
- $game_party.change_actor(@actor_index, @status_window.index)
- @actor_index = nil
- @status_window.refresh
- if $game_party.actors.include?($game_actors[CHARACTER_GRAPHIC]) == false || CHARACTER_GRAPHIC == 0
- $game_player.refresh
- end
- end
- return
- else
- # 命令窗口的光标位置分支
- case @command_window.index
- when 1 # 特技
- # 本角色的行动限制在 2 以上的情况下
- if $game_party.actors[@status_window.index].restriction >= 2
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到特技画面
- $scene = Scene_Skill.new(@status_window.index)
- when 2 # 装备
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换的装备画面
- $scene = Scene_Equip.new(@status_window.index)
- when 3 # 状态
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到状态画面
- $scene = Scene_Status.new(@status_window.index)
- end
- return
- end
- end
- end
- end
- #==============================================================================
- # ■ Scene_Battle (分割定义 2)
- #------------------------------------------------------------------------------
- # 处理战斗画面的类。
- #==============================================================================
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● アクターコマンドウィンドウのセットアップ
- #--------------------------------------------------------------------------
- alias phase3_setup_command_window_actor_change phase3_setup_command_window
- def phase3_setup_command_window
- # 元の処理を実行
- phase3_setup_command_window_actor_change
- # アクターコマンドウィンドウの位置を设定
- @actor_command_window.x = @actor_index * SPRITES_BATTLER
- end
- end
复制代码 这个是我找的脚本 增加人物上线的
$game_party.change_actor(@actor_index, @status_window.index) 提示是这行有问题
但是我用自己去弄这么都不出错
‘‘──qq306481897于2012-4-25 20:22补充以下内容
提示错误的图片没显示出来。。。
是说 脚本 增加人物上线184行发生错误
undefined method 'change_actor' for #<Game_Party:0x1032438>
脚本是网上下的 我就删了点不要的东西 但是我朋友那出错了
我测试就没 不知道什么原因啊
’’ |
|