在一个游戏中,精灵类是必不可少的部分,比如,在一个图层中引入一张图片,便可以使用精灵类来设置图片的属性,从而达到预期的效果。
代码演示
from cocos import scene#引入场景类
from cocos import director#引入导演类
from cocos import layer#引入图层类
from cocos import sprite#引入精灵类
class one_layer(layer.Layer):#创建一个图层类
is_event_handler = True #设置事件激活
def on_mouse_press(self,x,y,buttons,modifiers):#鼠标点击函数
box = self.get("box")#get到精灵box
box.kill()#删除box精灵
director.director.init()#初始化导演类
main_layer = one_layer()#实例化一个main_layer对象
width,height = director.director.get_window_size()#获取窗口函数
cat_sprite = sprite.Sprite("imgs/cat.png",position=(width//2,height//2))#创建CAT精灵,载入图片,并设置图片锚点位置
cat_sprite.tag = 100#设置一个cat精灵属性,用于实践获取精灵方法函数
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")#将精灵添加到图层中,设置层级(Z越大越上层),name为名称
main_layer.add(box_sprite,z=1,name="box")
cat = main_layer.get("cat")获取精灵方法函数
print(cat.tag)
children = main_layer.get_children()#获取图层中所有的子精灵
for node in children:
print(node.tag)
main_layer.remove(box_sprite)#在图层级结点上删除一个子精灵
box_sprite.kill()#在精灵结点删除精灵
演示结果说明:
运行程序后,在图形狂中间显示两张图片,点击鼠标,box图片消失