Project1

标题: 请大神帮我看看这为什么会绘制两个矩形 [打印本页]

作者: 俄罗斯方块    时间: 2015-6-26 13:23
标题: 请大神帮我看看这为什么会绘制两个矩形
我自己建了个类,然后在地图上用事件新建了这个类的实例并且不停的update。我只想它画一个,但它绘制出了两个矩形。请大神帮我看看是为什么?
  1. Red = Color.new(255,0,0)

  2. class Sprite_Card < Sprite
  3.   #--------------------------------------------------------------------------
  4.   # ● 初始化对象
  5.   #--------------------------------------------------------------------------
  6.   def initialize(viewport =@viewport)
  7.     super(viewport)
  8.     create_bitmap
  9.     update
  10.   end
  11.   #--------------------------------------------------------------------------
  12.   # ● 释放
  13.   #--------------------------------------------------------------------------
  14.   def dispose
  15.     self.bitmap.dispose
  16.     super
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 生成位图
  20.   #--------------------------------------------------------------------------
  21.   def create_bitmap
  22.     self.bitmap = Bitmap.new(480, 960)
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 更新画面
  26.   #--------------------------------------------------------------------------
  27.   def update
  28.     super
  29.     update_bitmap
  30.     update_position
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 更新源位图(Source Bitmap)
  34.   #--------------------------------------------------------------------------
  35.   def update_bitmap
  36.     redraw
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 重绘
  40.   #--------------------------------------------------------------------------
  41.   def redraw
  42.     #self.bitmap.clear
  43.     self.bitmap.fill_rect(self.x,self.y,self.x+120,self.y+180,Red)
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 更新位置
  47.   #--------------------------------------------------------------------------
  48.   def update_position
  49.     self.x = 60
  50.     self.y = 60
  51.     self.z = 200
  52.   end
  53. end
复制代码

作者: VIPArcher    时间: 2015-6-26 13:28
因为没清除,把43行的注释去掉就好了(未测试
作者: taroxd    时间: 2015-6-26 13:29
我这里并没有出现问题,可能是你事件设置有误吧
作者: 俄罗斯方块    时间: 2015-6-26 14:29
本帖最后由 俄罗斯方块 于 2015-6-26 14:36 编辑
VIPArcher 发表于 2015-6-26 13:28
因为没清除,把43行的注释去掉就好了(未测试


去掉注释以后果然就只剩下了我要的那个矩形。。。但我还是没想通,去掉注释前的那个多出来的矩形是怎么绘制上去的。
作者: 俄罗斯方块    时间: 2015-6-26 14:32
本帖最后由 俄罗斯方块 于 2015-6-26 14:35 编辑

不用了,我发现问题了。谢谢




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