LayaAir 游戏架构分析

包含 加载界面 游戏开始界面 游戏界面 和 得分界面

// 程序入口
class GameMain{

    private loading:Loading;  //读条界面
    private entry:Entry; //游戏入口
    private game:Game; //游戏界面
    private score:Score; //得分界面

    constructor()
    {
        //初始化引擎
        Laya.init(GlobalConfig.STAGE_WIDTH,GlobalConfig.STAGE_HEIGHT,Laya.WebGL);
        Laya.stage.screenMode = Laya.Stage.SCREEN_HORIZONTAL;

        //进入加载资源页面
        this.loading = new Loading();
        Laya.stage.addChild(this.loading);

        //开始加载资源
        Laya.loader.load("res/atlas/home.atlas",Laya.Handler.create(this,this.onResourceLoadingComplete),Laya.Handler.create(this,this.onProgress),Laya.Loader.ATLAS);
    }

    //进度变化
    private onProgress(loadNum:number):void
    {
        this.loading.setText("资源加载中,当前进度:"+parseInt(loadNum*100+"")+"%");
    }

    //加载完成
    private onResourceLoadingComplete():void{
        Laya.stage.removeChild(this.loading);
        this.GameInit();
    }

    //游戏入口UI初始化
    private GameInit():void{
        this.entry = new Entry();
        Laya.stage.addChild(this.entry);
        this.entry.size(GlobalConfig.STAGE_WIDTH,GlobalConfig.STAGE_HEIGHT);
        this.entry.on(Laya.Event.CLICK,this,this.onStartGame);
    }

    //进入游戏界面
    private onStartGame():void{
        Laya.stage.removeChild(this.entry);
        this.game = new Game();
        Laya.stage.addChild(this.game);
        this.game.on(GameEvents.GAME_OVER_EVENT,this,this.onGameOver);
    }

    //游戏重新开始
    private  onReset():void{
        Laya.stage.removeChild(this.score);
        this.GameInit();
    }


    //游戏结束自定义事件
    private onGameOver():void{
        Laya.stage.removeChild(this.game);
        this.score = new Score();
        Laya.stage.addChild(this.score);
        this.score.size(GlobalConfig.STAGE_WIDTH,GlobalConfig.STAGE_HEIGHT);
        this.score.on(Laya.Event.CLICK,this,this.onReset);
    }

}
new GameMain();

 

转载于:https://my.oschina.net/u/659068/blog/1570096

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5游戏开发实战涉及多个关键方面,包括游戏设计、用户体验、性能优化以及利用HTML5的特性来实现各种游戏功能。以下是一些关于HTML5游戏开发实战的要点和建议: 游戏设计: 确定游戏类型和玩法,如动作、益智、角色扮演等。 设计游戏场景、角色、道具等元素,确保游戏具有吸引力和可玩性。 制定游戏规则和流程,确保游戏逻辑清晰、易于理解。 用户体验: 优化游戏界面布局,确保元素排列合理、易于操作。 注重游戏的音效和视觉效果,提高游戏的沉浸感。 设计合理的游戏难度和进度,让玩家能够逐步挑战自我。 性能优化: 利用Canvas或WebGL等技术实现高效的图形渲染。 优化游戏代码和资源加载,减少游戏卡顿和延迟。 针对移动设备进行优化,确保游戏在不同设备和网络环境下都能流畅运行。 HTML5特性利用: 利用HTML5的音频和视频支持,实现游戏中的背景音乐和音效。 使用HTML5的触摸事件处理,支持移动设备的触摸操作。 借助Web Storage API实现游戏数据的本地存储,方便玩家随时继续游戏。 跨平台兼容性: 确保游戏在不同浏览器和操作系统上都能正常运行。 测试游戏在不同设备上的性能表现,进行必要的优化和调整。 社区与反馈: 建立游戏社区,与玩家保持互动,收集他们的反馈和建议。 根据玩家反馈进行游戏更新和改进,提高游戏质量和用户满意度。 学习与借鉴: 学习和借鉴其他成功的HTML5游戏案例,了解它们的设计理念和技术实现。 参加游戏开发社区和论坛,与其他开发者交流经验和技术心得。 总之,HTML5游戏开发实战需要综合考虑多个方面,包括游戏设计、用户体验、性能优化以及HTML5特性的利用等。通过不断学习和实践,你可以逐渐掌握HTML5游戏开发的技巧和精髓,创造出受欢迎的游戏作品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值