함수설명
$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값이 정의되어있음
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
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