查看: 1097|回复: 3

好久没来,提一个重力脚本的问题

  [复制链接]

不画画就死星人

梦石
0
星屑
171
在线时间
1819 小时
注册时间
2007-6-14
回帖
3133
发表于 2008-11-15 16:37:44 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
这是部分代码
      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

感觉用起来不是很完美,我需要这样的效果∶没有方向键的操作时,立刻换成名为“站立”
的行走图,不知道能不能实现?
谢谢了!
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
回帖
2059
发表于 2008-11-15 20:44:55 | 显示全部楼层
update

if !moving? then
  @character_name = "行走.png"
end

来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复

使用道具 举报

不画画就死星人

梦石
0
星屑
171
在线时间
1819 小时
注册时间
2007-6-14
回帖
3133
 楼主| 发表于 2008-11-15 21:32:42 | 显示全部楼层
谢谢这位朋友。。。不过这段加在哪里比较好?。。
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]
回复

使用道具 举报

不画画就死星人

梦石
0
星屑
171
在线时间
1819 小时
注册时间
2007-6-14
回帖
3133
 楼主| 发表于 2008-11-15 22:02:30 | 显示全部楼层
自己解决了 谢谢。。。
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部