赞 | 12 |
VIP | 107 |
好人卡 | 6 |
积分 | 4 |
经验 | 31122 |
最后登录 | 2024-6-29 |
在线时间 | 1606 小时 |
Lv2.观梦者 傻♂逼
- 梦石
- 0
- 星屑
- 374
- 在线时间
- 1606 小时
- 注册时间
- 2007-3-13
- 帖子
- 6562
|
做好了
版本:0.1
bug超多(确切地说是极不顺手,特别是连跳系统,按一下就飞天上去了(3连跳 {/gg})
代码如下(暂时不要发布,希望能有人解决掉这些不是bug的bug)
- #代码段1
- #==============================================================================
- # ■ Game_Character
- #------------------------------------------------------------------------------
- # 处理角色的类。本类作为 Game_Player 类与 Game_Event 类的超级类使用。
- #==============================================================================
- class Game_Character
- #--------------------------------------------------------------------------
- # ● 向上移动
- # turn_ok : 允许当场转向
- #--------------------------------------------------------------------------
- def move_up(turn_ok = true,act = false)
- if passable?(@x, @y-1) # 可通行的场合
- turn_up if turn_ok
- @y = $game_map.round_y(@y-1)
- @real_y = (@y+1)*256
- increase_steps if not act
- check_event_trigger_touch(@x, @y-1) if act # 是否触发接触事件
- @move_failed = false
- else # 不可通行的场合
- turn_up if turn_ok
- check_event_trigger_touch(@x, @y-1) # 是否触发接触事件
- @move_failed = true
- end
- end
- #--------------------------------------------------------------------------
- # ● 向下移动
- # turn_ok : 允许当场转向
- #--------------------------------------------------------------------------
- def move_down(turn_ok = true,act = false)
- if passable?(@x, @y+1) # 可通行的场合
- turn_down if turn_ok
- @y = $game_map.round_y(@y+1)
- @real_y = (@y-1)*256
- increase_steps if not act
- check_event_trigger_touch(@x, @y-1) if act
- @move_failed = false
- else # 不可通行的场合
- turn_down if turn_ok
- check_event_trigger_touch(@x, @y+1) # 是否触发接触事件
- @move_failed = true
- end
- end
- end
复制代码- #代码段2
- $use = false #脚本开关
- $airjump = 2 #空中连跳
- $hight = 3
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
- #==============================================================================
- # ■ Game_Player
- #------------------------------------------------------------------------------
- # 处理主角的类。事件启动的判定、以及地图的滚动等功能。
- # 本类的实例请参考 $game_player。
- #==============================================================================
- class Game_Player < Game_Character
- #--------------------------------------------------------------------------
- # ● 常量
- #--------------------------------------------------------------------------
- CENTER_X = (544 / 2 - 16) * 8 # 画面中央 X 座标 * 8
- CENTER_Y = (416 / 2 - 16) * 8 # 画面中央 Y 座标 * 8
- #--------------------------------------------------------------------------
- # ● 定义实例变量
- #--------------------------------------------------------------------------
- attr_reader :vehicle_type # 目前乘坐交通工具类型
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super
- @vehicle_type = -1
- @vehicle_getting_on = false # 乘坐交通工具标志
- @vehicle_getting_off = false # 离开交通工具标志
- @transferring = false # 场所移动标志
- @new_map_id = 0 # 目标地图 ID
- @new_x = 0 # 目标 X 座标
- @new_y = 0 # 目标 Y 座标
- @new_direction = 0 # 移动後方向
- @walking_bgm = nil # 记忆用行走时 BGM
- @line_jp = 0
- @cont = 2
- end
- #--------------------------------------------------------------------------
- # ● 方向键移动处理
- #--------------------------------------------------------------------------
- def move_by_input
- if $use == false
- return unless movable?
- return if $game_map.interpreter.running?
- case Input.dir4
- when 2; move_down
- when 4; move_left
- when 6; move_right
- when 8; move_up
- end
- end
- if $use and @vehicle_type == -1
- return if $game_map.interpreter.running?
- if Input.dir4 == 8 and @line_jp <= $airjump
- up1
- @line_jp += 1
- end
-
- @cont -=1
- return unless movable?
- case Input.dir4
- #when 2; move_down
- when 4; move_left
- when 6; move_right#
-
- #when 8; up1#up1
- end
-
- if passable?(@x, @y+1) #and @cont <= 0
- move_down(false,true)
- check_event_trigger_here([0])
- check_event_trigger_there([0,1,2])
- @cont = 1
- else
- if @line_jp > 0
- @line_jp = 0
- end
- end
- end
- end
- def up1
- for i in 1..$hight
- move_up(false,true)
- check_event_trigger_here([0])
- check_event_trigger_there([0,1,2])
- end
- end
- end
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
复制代码
[/code]
|
|