Project1

标题: 如何才能让主角走半格 [打印本页]

作者: 5810707    时间: 2011-8-11 00:51
标题: 如何才能让主角走半格
如题.如何能让主角走半格.以及事件dsu_plus_rewardpost_czw
作者: 忧雪の伤    时间: 2011-8-11 02:04
像素移动么,目前好像不存在完善的系统……XP的话倒是有……
VX不是很了解的样子,请尝试搜查:
像素移动

作者: RPGmaster    时间: 2011-8-11 02:11
本帖最后由 RPGmaster 于 2011-8-10 19:13 编辑
  1. #===============================================================
  2. # ● [VX Snippet] ◦ Sprite Mover ◦ □
  3. # * Move sprite in pixel to get right location~ *
  4. #--------------------------------------------------------------
  5. # ◦ by Woratana [[email protected]]
  6. # ◦ Thaiware RPG Maker Community
  7. # ◦ Released on: 02/06/2008
  8. # ◦ Version: 1.0
  9. #--------------------------------------------------------------

  10. #==================================================================
  11. # ** HOW TO USE **
  12. #-----------------------------------------------------------------
  13. # * In the event page that you want to move sprite, add comment:
  14. #  MOVE x_plus, y_plus
  15. # ** x_plus: how many pixel you want to move sprite horizontally
  16. # (- number: move left | + number: move right)
  17. # ** y_plus: how many pixel you want to move sprite vertically
  18. # (- number: move up | + number: move down)

  19. # * For example, add comment:
  20. #  MOVE 0, -20
  21. # ** to move sprite up 20 pixel~
  22. #==================================================================


  23. class Game_Event < Game_Character
  24.   attr_accessor :spr_move
  25.   alias wora_mover_gameve_setup setup
  26.   
  27.   def setup(*args)
  28.     wora_mover_gameve_setup(*args)
  29.     mover = comment?('MOVE', true)
  30.     if !mover[0]
  31.       @spr_move = nil
  32.     else
  33.       @spr_move = @list[mover[1]].parameters[0].clone
  34.       @spr_move.sub!('MOVE','').gsub!(/\s+/){''}
  35.       @spr_move = @spr_move.split(',')
  36.       @spr_move.each_index {|i| @spr_move[i] = @spr_move[i].to_i }
  37.     end
  38.   end
  39.   
  40.   def comment?(comment, return_index = false )
  41.     if [email protected]?
  42.       for i in [email protected] - 1
  43.         next if @list[i].code != 108
  44.         if @list[i].parameters[0].include?(comment)
  45.           return [true, i] if return_index
  46.           return true
  47.         end
  48.       end
  49.     end
  50.     return [false, nil] if return_index
  51.     return false
  52.   end
  53. end

  54. class Sprite_Character < Sprite_Base
  55.   alias wora_mover_sprcha_upd update
  56.   
  57.   def update
  58.     wora_mover_sprcha_upd
  59.     if @character.is_a?(Game_Event) and [email protected]_move.nil?
  60.       self.x = @character.screen_x + @character.spr_move[0]
  61.       self.y = @character.screen_y + @character.spr_move[1]
  62.     end
  63.   end
  64. end
复制代码
使用方法:
在事件里添加注释:
MOVE x, y  (x,y请自己设定,注意是像素)

这个脚本100%可以用= =
作者: 越前リョーマ    时间: 2011-8-11 02:12
  1.   #--------------------------------------------------------------------------
  2.   # ● 移动时的更新
  3.   #--------------------------------------------------------------------------
  4.   def update_move
  5.     distance = 2 ** @move_speed   # 变换移动速度与移动距离
  6.     distance *= 2 if dash?        # 跑步状态时移动速度加倍
  7.     @real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
  8.     @real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
  9.     @real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
  10.     @real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
  11.     update_bush_depth unless moving?
  12.     if @walk_anime
  13.       @anime_count += 1.5
  14.     elsif @step_anime
  15.       @anime_count += 1
  16.     end
  17.   end
复制代码
这里是写角色移动的地方的(在Game_Character),看得出来distance就是移动一步的距离,比如你希望走一步是走半个格子,可以distance *= 0.5 试试……只能说是试试,因为我没试过 = =
XP里ms是直接用加法的……VX里看起来玄乎一点,囧
作者: RPGmaster    时间: 2011-8-11 02:27
本帖最后由 RPGmaster 于 2011-8-10 19:28 编辑
忧雪の伤 发表于 2011-8-10 19:04
像素移动么,目前好像不存在完善的系统……XP的话倒是有……
VX不是很了解的样子,请尝试搜查:
...


额…………外站很多……给几个:
http://rmrk.net/index.php
http://www.rpg2s.net/
http://www.rpgrevolution.com/forums/
http://rpgfusionv2.forumsrpg.com/forum
http://www.rpgmkr.net/

至于是在哪个网站找到的我就不记得了= =
我去外站很久了= =(各种论坛……)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1