赞 | 0 |
VIP | 462 |
好人卡 | 9 |
积分 | 2 |
经验 | 21096 |
最后登录 | 2021-7-20 |
在线时间 | 1818 小时 |
Lv1.梦旅人 不画画就死星人
- 梦石
- 0
- 星屑
- 164
- 在线时间
- 1818 小时
- 注册时间
- 2007-6-14
- 帖子
- 3219
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这是部分代码
case Input.dir8
when 1
$ud_ok ? move_lower_left_p : move_left_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
when 2
# $ud_ok ? move_down_p : move_down_aaaagq
move_down_p if $ud_ok
when 3
$ud_ok ? move_lower_right_p : move_right_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
when 4
move_left_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
when 6
move_right_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
when 7
$ud_ok ? move_upper_left_p : move_left_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
when 8
# $ud_ok ? move_up_p : move_up_aaaagq
move_up_p if $ud_ok
when 9
$ud_ok ? move_upper_right_p : move_right_p
if $game_variables[3] == 0
@character_name = "行走.png"
end
end
end
# ローカル変数に座標を記憶
last_real_x = @real_x
last_real_y = @real_y
# 移動処理
@real_x = @x * 128 + @revise_x
@real_y = @y * 128 + @revise_y
# ローカル変数に移動中かどうかを記憶
last_moving = moving?
# 座標更新
move_on
# 現在の座標と以前の座標が異なる場合
if (last_real_x != @real_x or last_real_y != @real_y)
@move_distance = 0 if @move_distance == nil
@move_distance += Math.sqrt((last_real_x - @real_x) ** 2 +
(last_real_y - @real_y) ** 2)
if @move_distance >= 128
@move_distance %= 128
increase_steps
end
# アニメーションを更新
anime_update
else
@pattern = 0
end
end
# キャラクターが下に移動し、かつ画面上の位置が中央より下の場合
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
# 前回プレイヤーが移動中だった場合
if last_moving
# 同位置のイベントとの接触によるイベント起動判定
result = check_event_trigger_here([1,2])
if result == true
if (last_real_x / 128.0).round != @x and
(last_real_y / 128.0).round != @y
if @direction == 2 or @direction == 8
if (last_real_x / 128.0).round > @x
turn_left
else
turn_right
end
else
if (last_real_y / 128.0).round > @y
turn_up
else
turn_down
end
end
elsif (last_real_x / 128.0).round > @x
turn_left
elsif (last_real_x / 128.0).round < @x
turn_right
elsif (last_real_y / 128.0).round > @y
turn_up
elsif (last_real_y / 128.0).round < @y
turn_down
end
end
# 起動したイベントがない場合
if result == false
# デバッグモードが ON かつ CTRL キーが押されている場合を除き
unless $DEBUG and Input.press?(Input::CTRL)
# エンカウント カウントダウン
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
感觉用起来不是很完美,我需要这样的效果∶没有方向键的操作时,立刻换成名为“站立”
的行走图,不知道能不能实现?
谢谢了! |
|