设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6999|回复: 17
打印 上一主题 下一主题

[讨论] XP默认系统的"又"一BUG

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6483
在线时间
119 小时
注册时间
2020-1-8
帖子
234
1
发表于 2021-1-22 14:29:39 | 显示全部楼层
这不会是挖坟吧
rmxpx的RPG::Sprite写了x,y,照着x,y写个ox,oy
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def ox=(ox)
  4.       oxo = self.ox - ox
  5.       if oxo != 0
  6.         if @_animation_sprites != nil
  7.           for i in 0..15
  8.             @_animation_sprites[i].x += oxo
  9.           end
  10.         end
  11.         if @_loop_animation_sprites != nil
  12.           for i in 0..15
  13.             @_loop_animation_sprites[i].x += oxo
  14.           end
  15.         end
  16.       end
  17.       super
  18.     end
  19.    
  20.     def oy=(oy)
  21.       oyo = self.oy - oy
  22.       if oyo != 0
  23.         if @_animation_sprites != nil
  24.           for i in 0..15
  25.             @_animation_sprites[i].y += oyo
  26.           end
  27.         end
  28.         if @_loop_animation_sprites != nil
  29.           for i in 0..15
  30.             @_loop_animation_sprites[i].y += oyo
  31.           end
  32.         end
  33.       end
  34.       super
  35.     end
  36.   end
  37. end
复制代码
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6483
在线时间
119 小时
注册时间
2020-1-8
帖子
234
2
发表于 2021-1-23 21:06:47 | 显示全部楼层
灯笼菜刀王 发表于 2021-1-22 15:23
实际上改viewport的原点并不会改动它里面的sprite的原点~ 要这样解决的话, 是应该放在viewport里~

其实 ...

可能我不是正经学习过的
你的描述我看不太懂
我是看楼上的动图理解的
我写了scene测试了的
a=RPG::Sprite.new(v=Viewport.new) (只为表达意思)
无论 a.ox、a.oy变化 还是v.ox、v.oy变化都行 (一次刷新改变100)
a播放动画的sprites  一直跟随a
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 00:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表