首页 > 其他分享 >phaser引擎使用记录

phaser引擎使用记录

时间:2023-02-28 17:11:31浏览次数:42  
标签:Phaser phaser 记录 scene game 引擎 GameSence 加载 name

初始化game

function gameInit(){
        game = new Phaser.Game({
            type: Phaser.WEBGL,//游戏渲染方式---手机游戏请务必指定Phaser.CANVAS     WEBGL
            parent:'game',//游戏容器
            // backgroundColor: '#2dab2d',
            transparent:true,//画布元素是否透明
            physics: {
                default: 'arcade',
                arcade: {
                    gravity: { y: 0 },
                    debug: false,
                    // fps:30
                }
            },
            scale: {
                mode: Phaser.Scale.FIT,
                parent: 'game',
                autoCenter: Phaser.Scale.CENTER_BOTH,
                width: gameWidth*2,
                height: gameHeight*2
            },
            // scene: [ GameSence ],
        });
        game.scene.add('GameSence', GameSence);
        game.scene.start("GameSence");
    }
  var GameSence = new Phaser.Class({
    Extends: Phaser.Scene,
        preload: function() {
                   this.load.on('progress',  (value)=> {
            //加载进度
        });
this.load.on('complete',  ()=> {
            //加载完成回调
        });

},//加载素材
        create:function(){},//创建场景
        update: function() {},//游戏实时监听
})

/*--------*/
this.scene.resume();//恢复场景
this.scene.pause();//暂停场景
this.scene.restart();//重新开始场景


this.load.image('name','path');//加载图片素材
this.load.atlas('name','imgPath','jsonPath');//加载json序列帧素材
this.load.audio('name','path');//加载音乐素材

this.add.image(x, y, name);添加素材到场景中


//注意素材雪碧图尺寸大小不要超过2048*2048,不然卡顿非常严重可以一套动作图生成多个json加图片,然后通过for循环和this.anims.generateFrameNames('name' + i)的方式进行将每个json使用push添加到一个数组中,在通过sort进行排序,这样最终得出来的一组动画数据就可以用到this.anims.create({})中啦

定时器:

timedEvent = this.time.addEvent({
                    delay: 200/this.gameSpeedScale,
                    callback: () => {
                        //需要执行的逻辑
                    },
                    loop: true
                });
timedEvent.remove(true);
                            // 清除定时器

动画

this.tweens.add({
            targets: name,
            x: x,
            y: y,
            scale: scale,
            duration: 4000,
            ease: 'Quad.easeIn',

        onComplete: () =>{
          add10Score.destroy();
        }

        });

事件操作

this.input.on("pointermove", (pointer)=>{
            
            
        },this);

destroy();//销毁

this.road.anims.timeScale = 2; //改变anims动画播放速度,初始为1

标签:Phaser,phaser,记录,scene,game,引擎,GameSence,加载,name
From: https://www.cnblogs.com/think-ing/p/17164564.html

相关文章

  • 存储引擎写入操作
    1.数据写入第一步,首先在数据更新操作的时候,记录旧数据到UndoLog日志文件中,用于提供回滚操作如执行一条删除语句:DELETEFROMuserWHEREid=1;则undolog会记录一......
  • Mac 系统中,因环境变量配置错误,导致终端命令不可用,解决方法记录
    背景  在安装Auller过程中,因为第一次在mac系统中配置环境变量,环境变量配置错误,导致在终端中无法使用ls命令,显示无法识别此命令。现象:执行ls语句,查询当前目录......
  • c# 报错记录
    1.问题:安装Microsoft.Toolkit.Mvvm运行后报错:错误CS0012类型“Object”在未引用的程序集中定义。必须添加对程序集“netstandard,Version=2.0.0.0,Culture=neutral,......
  • 利用C#,SqlXml技术将NorthWind中的所有记录取出并显示出来(包括员工图片)
    经常有人问这个问题,如何取出NorthWind中Employees表中的Photo字段的图片并显示出来?此表中图片显示常见的问题是:由于Northwind数据库內含的image资料最开头有78bytes的表......
  • Java应用【九】在 Java 中使用Log4j/Logback进行日志记录和调试
    如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持!相关阅读:​​Java应用【......
  • 一次性批量插入大批量测试数据记录
    方法一:使用整数直接循环法:DECLARE@IINTSET@I=0WHILE@I<10000BEGIN INSERTINTOYOURTABLE(COLOUMN1, COLOUMN2)VALUES(@I,'TEST') SET@I=@I+1END方法二:插入......
  • OA 系统工作流引擎 Camunda 实践(2)
    再把一部分流程相关的表和代码做一下开源和解释,有疑问的评论 除了Camunda自身的表,还需要建立一些存储流程相关的基础数据表,如下 1SETNAMESutf8mb4;2SETF......
  • 做题记录 #5
    P4762[CERC2014]VirussynthesisAnalysis建立PAM,考虑以回文串作为转移阶段,则一个状态的前驱是它的半串的所有回文子串,直接转移肯定是不行的,考虑分步优化。注意到子串一......
  • JavaFX 学习记录
    使用JavaFX时一些奇怪的问题继承自Application类的构造函数会被执行两次先看代码://FXTestMain.javaimportjavafx.application.Application;importjavafx.stage......
  • seata RM中没有undo_log记录
    nacos注册成功,seata服务器日志显示回滚成功,但是实际上没有回滚,需要查询原因,AT模式回滚需要数据库中有undo_log日志,实际上没有看到这个表的记录,说明全局事物开启后,服务数......