Project1

标题: 如果获取Viewport中的所有精灵? [打印本页]

作者: ky52879    时间: 2014-2-15 10:33
标题: 如果获取Viewport中的所有精灵?
v = Viewport.new(0, 0, 300, 300)
s1 = Sprite.new(v)
s2 = Sprite.new(v)

用代码如果获取“v”中的所有精灵?也就是得到[s1, s2]呢?

作者: 无脑之人    时间: 2014-2-15 19:03
据说只能遍历所有Sprite,你可以通过重定义Sprite#initialize来记录这个东西
  1. class Sprite
  2.   alias :init :initialize
  3.   def initialize(*args)
  4.     init(*args)
  5.     self.viewport.sprites.push(self) if self.viewport
  6.   end
  7. end

  8. class Viewport
  9.   def sprites
  10.     return @sprite||=[]
  11.   end
  12. end
复制代码

作者: ky52879    时间: 2014-2-16 19:21
无脑之人 发表于 2014-2-15 19:03
据说只能遍历所有Sprite,你可以通过重定义Sprite#initialize来记录这个东西

谢啦,已经找到方法了,我这边怎么没有【认可按钮】?




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