Project1

标题: 如何让地图后面的远景图片与地图完全同步卷动 [打印本页]

作者: jiangjie81    时间: 2013-2-11 10:25
标题: 如何让地图后面的远景图片与地图完全同步卷动
本帖最后由 jiangjie81 于 2013-2-11 23:08 编辑

地图后面,设置远景图片的话,随着主角在地图的上下移动,会在主角过中线的时候,向上或向下,偏移一格。

如何让远景图,不偏移那一格呢?

不偏移过中线时候的那一格偏移,而已。不是远景整个不动,而是跟小地图同步卷动。

这样做的好处就在于,可以使用远景图做地图,地图只画需要移动的一部分,极大的减轻了画图量。而且图还很美。就像ps上FF9,浪漫沙加那些。

经测试,4楼的方法有效。但是还要附加我说的条件。
作者: tseyik    时间: 2013-2-11 10:53
説説你図和遊戲画面的解象度?
作者: jiangjie81    时间: 2013-2-11 13:37
tseyik 发表于  
説説你図和遊戲画面的解象度?

游戏画面1024*768;地图 32*22;远景也是32*22
作者: 狂歌天涯    时间: 2013-2-11 13:57
jiangjie81 发表于  
游戏画面1024*768;地图 32*22;远景也是32*22

Game_Map里面
#--------------------------------------------------------------------------
  # ● 计算远景图显示的原点 X 坐标
  #--------------------------------------------------------------------------
  def parallax_ox(bitmap)
    if @parallax_loop_x
      @parallax_x * 16
    else
      w1 = [bitmap.width - Graphics.width, 0].max
      w2 = [width * 32 - Graphics.width, 1].max
      @parallax_x * 16 * w1 / w2
    end
  end
  #--------------------------------------------------------------------------
  # ● 计算远景图显示的原点 Y 坐标
  #--------------------------------------------------------------------------
  def parallax_oy(bitmap)
    if @parallax_loop_y
      @parallax_y * 16
    else
      h1 = [bitmap.height - Graphics.height, 0].max
      h2 = [height * 32 - Graphics.height, 1].max
      @parallax_y * 16 * h1 / h2
    end
  end

@parallax_x * 16 * w1 / w2 这一句里的16改成32或者是其他的你试试,y坐标的同样
作者: jiangjie81    时间: 2013-2-11 16:26
狂歌天涯 发表于  
Game_Map里面
#--------------------------------------------------------------------------
  # ●  ...

试过了。没用奥。主角过了中轴,远景仍旧移动一格,(要么就是地图卷动了一格)
作者: 狂歌天涯    时间: 2013-2-11 17:53
jiangjie81 发表于  
试过了。没用奥。主角过了中轴,远景仍旧移动一格,(要么就是地图卷动了一格) ...

你让远景图和地图的大小和分辨率一样喽
作者: jiangjie81    时间: 2013-2-11 18:01
狂歌天涯 发表于  
你让远景图和地图的大小和分辨率一样喽

分辨率一样,也会便宜的。你随便开个project就知道了。
作者: j433463    时间: 2013-2-11 21:00
本帖最后由 j433463 于 2013-2-11 21:03 编辑

我尝试把 Game_Map 的向下卷动 def scroll_down 与 向上卷动 def scroll_up 中,

@parallax_x += @display_x - last_x

这一行注释掉之后,上下移动角色时远景就不会偏移了,但我担心这样做的后果会不会有什么状况?

测试地图是预设的 100 * 100 图块大小,再大没有测试过。
作者: 狂歌天涯    时间: 2013-2-11 23:20
游戏画面1024*768;地图 32*22;远景也是32*22,你的这段话,明明就是,地图和远景图片比游戏画面少了两个格子,你的远景图铺展伸开后,肯定会重复两个格子呀。而且你的地图也应该会重复两个格子。
作者: 大坏仁    时间: 2013-2-12 00:07
最简单的方法,远景分辨率/32=地图格子大小.设置地图远景都为不滚动.
例如:远景是1024*768那么地图大小就是
32,24。这样就让地图和远景一一对应了。希望能解决你的问题.




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