赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 1615 |
最后登录 | 2013-2-26 |
在线时间 | 47 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 47 小时
- 注册时间
- 2012-12-12
- 帖子
- 83
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 ctvip 于 2013-1-13 13:23 编辑
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● 画面更新
#--------------------------------------------------------------------------
#def update
## 本地变量记录移动信息
#last_moving = moving?
## 移动中、事件执行中、强制移动路线中、
## 信息窗口一个也不显示的时候
#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
#when 4
#move_left
#when 6
#move_right
#when 8
#move_up
#end
#end
## 本地变量记忆坐标
#last_real_x = @real_x
#last_real_y = @real_y
#super
#update_scroll(last_real_x, last_real_y)
## 不在移动中的情况下
#unless moving?
## 上次主角移动中的情况
#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
#--------------------------------------------------------------------------
# ● 更新滚动
#--------------------------------------------------------------------------
def update_scroll(last_real_x, last_real_y)
ax1 = $game_map.adjust_x(last_real_x)
ay1 = $game_map.adjust_y(last_real_y)
ax2 = $game_map.adjust_x(@real_x)
ay2 = $game_map.adjust_y(@real_y)
slowmove = (2 ** (@move_speed - 1)).to_i # 有一项为 0 不变
fastmove = (2 ** @move_speed).to_i
length = (2 ** (@move_speed + 4)).to_i # 有一项为 0 不变
if ax2 < CENTER_X - 8
if (ax2 - CENTER_X) <= -length
$game_map.scroll_left(fastmove)
else
$game_map.scroll_left(slowmove)
end
elsif ax2 > CENTER_X + 8
if (ax2 - CENTER_X) >= length
$game_map.scroll_right(fastmove)
else
$game_map.scroll_right(slowmove)
end
end
if ay2 < CENTER_Y - 8
if (ay2 - CENTER_Y) <= -length
$game_map.scroll_up(fastmove)
else
$game_map.scroll_up(slowmove)
end
elsif ay2 > CENTER_Y + 8
if (ay2 - CENTER_Y) >= length
$game_map.scroll_down(fastmove)
else
$game_map.scroll_down(slowmove)
end
end
end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# 处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 计算 X 座标减去显示座标
# x : X 座标
#--------------------------------------------------------------------------
def adjust_x(x)
return x - @display_x
end
#--------------------------------------------------------------------------
# ● 计算 Y 座标减去显示座标
# y : Y 座标
#--------------------------------------------------------------------------
def adjust_y(y)
return y - @display_y
end
end
以上是脚本,希望哪位朋友可以帮我解决下。上面的判断我没用,好象也用不起,想增加一个开关控制,可行否。 |
|