查看: 1688|回复: 1

[已经过期] 继续提问,这次是精灵draw_text的擦写

[复制链接]
梦石
0
星屑
724
在线时间
685 小时
注册时间
2009-5-29
回帖
332
发表于 2014-7-12 11:52:05 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
请看下面这一段:

[pre lang="ruby" line="1"]  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    if @deck_size > 0
      if @prc_appear > 0
        @prc_appear += 1
        if @prc_appear > 122
          @prc_appear = 0
          @sprite_effect_type = :appear
        elsif @prc_appear > 60
          @animation_id = 118 unless animation?
        end
      else
        update_bitmap
      end
      update_position
      setup_new_effect
      setup_new_animation
      update_effect
    else
      self.bitmap = nil
      @effect_type = nil
    end
    draw_left_cards
  end
  #--------------------------------------------------------------------------
  # ● 更新源位图(Source Bitmap)
  #--------------------------------------------------------------------------
  def update_bitmap
    new_bitmap = Cache.system("back_POP_left")
    if bitmap != new_bitmap
      self.bitmap = new_bitmap
    end
  end
  #--------------------------------------------------------------------------
  # ● 描绘剩余卡牌
  #--------------------------------------------------------------------------
  def draw_left_cards
    set_handcards #这里获取@deck_size的最新值
    self.bitmap.draw_text(text_rect, @deck_size, 1) if self.bitmap
  end[/pre]

这段代码的问题在于:
1. 怎么把之前的draw_text擦掉,以免文字叠加?
2.即便是@deck_size的值改变了(p得出改变后的值),draw_text描绘的依旧是初值?
对于第(2)问,具体描述一下:
这个sprite一共有两个,一个是本地玩家的,一个是对手玩家的,两个sprite用Symbol来区分,例如,两名玩家的初始deck_size都是20,然后其中一个玩家抽了3张牌,
这两个sprite的deck_size应该是20和17才对,但是描绘出来的结果两个都是20.

看不懂= =

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-7-12 12:00:45 | 显示全部楼层
self.bitmap.clear

点评

用两个精灵,或者把底图也重画了  发表于 2014-7-12 15:12
这个是有个背景底图的,用了clear之后底图就不见了,而且描绘的依旧是20...  发表于 2014-7-12 14:01

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 我很赞同

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部