美文网首页
Container 容器

Container 容器

作者: skoll | 来源:发表于2023-06-11 14:10 被阅读0次

    简介

    1 .一个游戏对象加入容器之后,会从场景的显示列表中删除,而加入容器内部的显示列表,由容器负责他的渲染,位置也是相对于容器位置而确定的
    2 .容器可以嵌套
    3 .容器可以添加遮罩
    4 .游戏对象的位置自动变成相对容器的位置
    5 .Container 的变换点是0X0,并且不能更改。添加的Container的子项也是应该根据此定位。
    6 .当容器倍渲染时,所有的子集也会倍渲染,按照他们在容器中存在的顺序。容器子项可以使用MoveUp,MoveDown,sendToBack等方法重新调整层级顺序
    7 .修改container的x,rotation,也会影响所有的子级对象
    8 .容器可以和其他容器进行嵌套
    9 .可以为输入启用容器。因为它们没有纹理,所以您需要为它们提供一个形状以用作它们的命中区域。也可以独立于容器为输入启用容器子项。


    1686387452845.png

    10 .1号位置是0,0 ,2号位置是-100,100,3号位置是100,100
    11 .container.setAlpha(),设置透明度,会影响到子元素

    定义容器

    1 .const tainer=this.add.container(400,300)

    容器方法

    1 .add()
    2 .addAt([],0)

    添加emitter

    const container = this.add.container(400, 300);
    
    const emitter = this.add.particles(0, 0, 'lemming', {
                lifespan: 2000,
                speed: { min: 200, max: 400 },
                angle: 270,
                gravityY: 300
       });
    
      container.add(emitter);
    

    1 .container 添加tween动画,emitter也会运动,跟着旋转

    添加tileSprite

    添加animation对象

    this.anims.create({
                key: 'run',
                frames: 'mummy',
                frameRate: 20,
                repeat: -1
            });
    
     const sprite1 = this.add.sprite(100, 200, 'mummy').play('run')
    const container = this.add.container(300, 0, [ sprite1 ])
    this.tweens.add({
                targets: container,
                scaleX: 3,
                scaleY: 3,
                duration: 6000,
                yoyo: true,
                repeat: -1
            });
    

    container 添加点击区域

    const bg = this.add.image(0, 0, 'buttonBG');
            const text = this.add.image(0, 0, 'buttonText');
    
            const container = this.add.container(400, 300, [ bg, text ]);
    
            container.setSize(bg.width, bg.height);
    
            container.setInteractive();
    
            container.on('pointerover', () =>
            {
    
                bg.setTint(0x44ff44);
    
            });
    
            container.on('pointerout', () =>
            {
    
                bg.clearTint();
    
            });
    

    相关文章

      网友评论

          本文标题:Container 容器

          本文链接:https://www.haomeiwen.com/subject/venzrdtx.html