Project1

标题: 请教 RMVX 脚本页 Sprite_Battler 中的一个函数 [打印本页]

作者: 风缘    时间: 2011-4-2 22:51
标题: 请教 RMVX 脚本页 Sprite_Battler 中的一个函数
本帖最后由 风缘 于 2011-4-3 20:36 编辑

我尝试修改这两行不能使精灵只显示图像的一部分。只是改变显示位置,还是显示全图。
请问这是什么原因。可否顺带解释下  Sprite::ox 和 Sprite::oy 的作用。
我的理解是把精灵显示的始点定位置在图像的某一位置。
  1.       self.ox = @width / 2
  2.       self.oy = @height
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 更新传送原图档
  3.   #--------------------------------------------------------------------------
  4.   def update_battler_bitmap
  5.     if @battler.battler_name != @battler_name or
  6.        @battler.battler_hue != @battler_hue
  7.       @battler_name = @battler.battler_name
  8.       @battler_hue = @battler.battler_hue
  9.       self.bitmap = Cache.battler(@battler_name, @battler_hue)
  10.       @width = bitmap.width
  11.       @height = bitmap.height
  12.       self.ox = @width / 2
  13.       self.oy = @height
  14.       if @battler.dead? or @battler.hidden
  15.         self.opacity = 0
  16.       end
  17.     end
  18.   end
复制代码
风缘于2011-4-3 04:49补充以下内容:
在网上找到答案了。是我关于原点坐标的理解错误

http://www.rpgchina.net/read-htm-tid-4971.html
作者: DeathKing    时间: 2011-4-3 08:57
下次发帖请使用“禁用表情”功能。
这里还有一个很形象的参考:http://rpg.blue/forum.php?mod=re ... 9&fromuid=11686
作者: 风缘    时间: 2011-4-3 13:48
回复 DeathKing 的帖子

谢谢版主的帮助。

一直潜水,都不太会编辑帖子。
作者: summer92    时间: 2011-4-3 15:15
  Sprite::ox 和 Sprite::oy 的作用
Sprite::ox 就是图象的原始x坐标(0,0)屏幕左上角
修改了Sprite::ox后就可以把另外的点作为原始坐标,比如(320,240)
这个就以屏幕中间作为原始坐标,图象不是以屏幕左上角为坐标出现。。。
这属于数学.....




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