Project1

标题: 改了移动速度,移动的时候事件图会偏移一个像素点 [打印本页]

作者: viva0072008    时间: 2013-3-15 15:05
标题: 改了移动速度,移动的时候事件图会偏移一个像素点
用事件指令 脚本:@move_speed = 3.5 改了主角的移动速度,但是移动的时候当镜头跟着主角卷动,事件的图会偏移一个像素点,就好像没跟上地图的卷动速度一样,貌似只要移动速度那个系数不是整数带小数就会这样,我是用事件图做景物的,这样感觉就好像错位了,请问有办法解决吗?
作者: 坏数据    时间: 2020-8-15 11:14
7年后的我 遇到了同样的问题 搜索到了这个帖子
作者: alexncf125    时间: 2020-8-15 12:04
坏数据 发表于 2020-8-15 11:14
7年后的我 遇到了同样的问题 搜索到了这个帖子
  1. ##------
  2. ## Display rounding error fix created by Neon Black.
  3. ##
  4. ## When certain slow display panning speeds are used, events will improperly
  5. ## round floating values to determine their position on screen.  This causes
  6. ## them to appear off from the tilemap by a single pixel.  Though minor this is
  7. ## noticable.  This snippet fixes this behaviour.
  8. ##
  9. ## This snippet may be used in any project.
  10. ##
  11. ## -- Original Topic:
  12. ## http://forums.rpgmakerweb.com/index.php?/topic/17448-event-jitter-fix-display-rounding-error-fix
  13. ##------
  14. class Game_Map ## Rounds X and Y display values DOWN so the nearest 32 is found.
  15.   def display_x
  16.     (@display_x * 32).floor.to_f / 32
  17.   end
  18.   
  19.   def display_y
  20.     (@display_y * 32).floor.to_f / 32
  21.   end
  22.   
  23.   def adjust_x(x)
  24.     if loop_horizontal? && x < display_x - (width - screen_tile_x) / 2
  25.       x - display_x + @map.width
  26.     else
  27.       x - display_x
  28.     end
  29.   end
  30.   
  31.   def adjust_y(y)
  32.     if loop_vertical? && y < display_y - (height - screen_tile_y) / 2
  33.       y - display_y + @map.height
  34.     else
  35.       y - display_y
  36.     end
  37.   end
  38. end
复制代码





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