在一個游戲中陆盘,精靈類是必不可少的部分舷蟀,比如恤磷,在一個圖層中引入一張圖片面哼,便可以使用精靈類來設(shè)置圖片的屬性,從而達(dá)到預(yù)期的效果扫步。
代碼演示
from cocos import scene#引入場景類
from cocos import director#引入導(dǎo)演類
from cocos import layer#引入圖層類
from cocos import sprite#引入精靈類
class one_layer(layer.Layer):#創(chuàng)建一個圖層類
is_event_handler = True #設(shè)置事件激活
def on_mouse_press(self,x,y,buttons,modifiers):#鼠標(biāo)點擊函數(shù)
box = self.get("box")#get到精靈box
box.kill()#刪除box精靈
director.director.init()#初始化導(dǎo)演類
main_layer = one_layer()#實例化一個main_layer對象
width,height = director.director.get_window_size()#獲取窗口函數(shù)
cat_sprite = sprite.Sprite("imgs/cat.png",position=(width//2,height//2))#創(chuàng)建CAT精靈魔策,載入圖片,并設(shè)置圖片錨點位置
cat_sprite.tag = 100#設(shè)置一個cat精靈屬性河胎,用于實踐獲取精靈方法函數(shù)
box_sprite = sprite.Sprite("imgs/box_bg.png",position=(width//2,height//2))
box_sprite.tag = 101
main_layer.add(cat_sprite,z = 2,name="cat")#將精靈添加到圖層中闯袒,設(shè)置層級(Z越大越上層),name為名稱
main_layer.add(box_sprite,z=1,name="box")
cat = main_layer.get("cat")獲取精靈方法函數(shù)
print(cat.tag)
children = main_layer.get_children()#獲取圖層中所有的子精靈
for node in children:
print(node.tag)
main_layer.remove(box_sprite)#在圖層級結(jié)點上刪除一個子精靈
box_sprite.kill()#在精靈結(jié)點刪除精靈
演示結(jié)果說明:
運(yùn)行程序后游岳,在圖形狂中間顯示兩張圖片政敢,點擊鼠標(biāo),box圖片消失