RMXP

RMXP 스프라이트 관련 질문..ㅜ

by Lighna posted Jun 04, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
함수설명
$la_delay
$lb_delay
$lc_delay
$ld_delay
$le_delay
$lf_delay
$lg_delay
인풋된 스킬 단축 아이콘의 순서이며
255 * (현제 감소중인 해당 스킬의 스킬딜래이 / 해당 스킬의 원래 스킬 딜래이)의
값이 각각 들어가 있습니다.(실시간 업데이트)
 
이값들을 opacity 로 하여 스킬을 사용하고 딜레이타임이 생길 때
'Cool time'이라는 아이콘을 원래 스킬 아이콘 위에 띄워줄 의도였습니다만,
제가 짠 것에서는 스킬 하나당 각각의 cooltime 아이콘이 생기는게 아니더군요
처음부터 맵 상단 왼쪽에 coottime이라는 아이콘이 있을 뿐만 아니라,
a스킬을 사용하고 cooltime 아이콘이 생겼다 사라졌다고 가정했을때,
b스킬을 사용하면 b스킬에 아이콘이 생길뿐만 아니라 a스킬에 생겼다 사라진
아이콘이 다시 등장하고 b스킬의 아이콘과 동시에 투명해집니다...
제가원하는건 이게아니라 기타 게임들과 같이 스킬마다 독립적으로 쿨타임 아이콘이 생겼다
지워지는 것인데 말이죠;;ㅠ
어떻게 수정해야 할 지 도와주시면 감사하겠습니다.
그래픽쪽은 아직도..영;; ㅠ

class Scene_Map 
  alias aacthud_main main
  def main
    @ct = Cooltime.new
    aacthud_main    
    @ct.dispose
    @ct = nil
  end 
   
  alias aacthud_update update
  def update
    aacthud_update
    @ct.update
  end
end
 
class Cooltime < Sprite
  include SkillIcon # Rect값이 정의되어있음
  def initialize
    super
    self.bitmap = Bitmap.new(644,482)
    ctbitmap = RPG::Cache.icon('CoolTime')
    self.bitmap.blt(0,0, ctbitmap, Rect.new(0,0,644,482))
    self.x = 0
    self.y = 0   
    self.z = 3020
    self.opacity = 255
  end
 
  def update
    super
    ctupdate
  end
 
  def ctupdate
    return if self.bitmap.disposed?
    bitmap = RPG::Cache.icon('CoolTime')
    if $la_delay >= 0
      self.opacity = $la_delay
      self.bitmap.blt(0, 0, bitmap, RECT_A)
    end
    if $lb_delay >= 0
      self.opacity = $lb_delay
      self.bitmap.blt(0, 0, bitmap, RECT_B)
    end
    if $lc_delay >= 0
      self.opacity = $lc_delay
      self.bitmap.blt(0, 0, bitmap, RECT_C)
    end
    if $ld_delay >= 0
      self.opacity = $ld_delay
      self.bitmap.blt(0, 0, bitmap, RECT_D)
    end
    if $lf_delay >= 0
      self.opacity = $lf_delay
      self.bitmap.blt(0, 0, bitmap, RECT_F)
    end
    if $lg_delay >= 0
      self.opacity = $lg_delay
      self.bitmap.blt(0, 0, bitmap, RECT_G)
    end
    if self.opacity == 0
      dispose
    end
   
  end
 
  def dispose
    if self.bitmap != nil
    self.bitmap.dispose
    end
  end
 
end#c