前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >白鹭引擎—— 学习笔记

白鹭引擎—— 学习笔记

作者头像
李郑
发布2019-12-12 17:20:48
1.3K0
发布2019-12-12 17:20:48
举报
文章被收录于专栏:漫漫全栈路

最近打算重新尝试下独立游戏的开发,多说无益,先从egret开始。

Egret 项目结构

游戏开发,最主要两个部分内容,一个是资源,一个是脚本。

先说资源。

resource目录下,assetseui_skins中的exml文件一一对应,并通过default.res.json文件来进行管理和申明。

自己添加的资源,同样也是添加到这个目录中,并申明

再看脚本,脚本都存放在src目录下,main.ts则是脚本的入口文件,也是整个游戏的主要控制入口。

主要看两个方法

  • loadResource()加载资源
  • createGameScene()加载场景

具体代码实现,则是使用TS脚本,调用Egret引擎的能力,来绘制场景和界面,并加载脚本代码。这里可以直接将简单的逻辑脚本写入main.ts亦可编写单独的TS脚本在main中调用。

Egret常用API

文本

代码语言:javascript
复制
let label:egret.TextField = new egret.TextField(); 
label.text = "hello world!";

图片

代码语言:javascript
复制
let img:egret.Bitmap = new egret.Bitmap();
img.texture = RES.getRes("imgName");

形状

代码语言:javascript
复制
// 画个红色矩形框
let shp:egret.Shape = new egret.Shape();
shp.graphics.beginFill( 0xff0000, 1);
shp.graphics.drawRect( 0, 0, 100, 200 );
shp.graphics.endFill();

声音

代码语言:javascript
复制
let sound:egret.Sound = RES.getRes("mp3Name");
sound.play();
sound.stop();

事件

代码语言:javascript
复制
// 触摸事件(相当于点击)
this.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouchTap,this);
this.removeEventListener(egret.TouchEvent.TOUCH_TAP,this.onTouchTap,this);

计时器

代码语言:javascript
复制
// 参数为时间间隔(ms)和执行次数
let timer:egret.Timer = new egret.Timer(500, 5); 
// 边计时边触发
timer.addEventListener(egret.TimerEvent.TIMER, this.timerFunc, this);
// 计时结束触发
timer.addEventListener(egret.TimerEvent.TIMER_COMPLETE,this.timerComFun,this);
// 开始计时
timer.start();
// 暂停计时
timer.stop();
// 重新计时
timer.reset();

数据存储

代码语言:javascript
复制
// 存储数据
let key:string = "score";
let value:string = "100";
egret.localStorage.setItem(key, value);
// 读取数据
let score:string = egret.localStorage.getItem(key);
// 移除数据
egret.localStorage.removeItem(key);
// 清除所有数据
egret.localStorage.clear();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Egret 项目结构
  • Egret常用API
    • 文本
      • 图片
        • 形状
          • 声音
            • 事件
              • 计时器
                • 数据存储
                相关产品与服务
                数据保险箱
                数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档