egret学习】的更多相关文章

1.egret wing4.0不能创建egret游戏项目, 重置了引擎之后就可以了 2.入门介绍:http://developer.egret.com/cn/github/egret-docs/Engine2D/getStarted/helloWorld/index.html 3.TypeScript 手册:https://zhongsp.gitbooks.io/typescript-handbook/content/doc/handbook/tutorials/TypeScript%20in%…
上一章把飞机添加到屏幕上,但是飞机要发射子弹对吧?那么这一章我们就来实现一下发射子弹,并实现一个简单的子弹对象池 先来捋一捋思路 1.创建一个子弹对象 2.然后添加一个bitmap,显示子弹贴图 3.判断子弹类型(我们这里是一个子弹是敌人和主角都在使用,根据不同的状态类型,显示不同的图和往不同的方向飞行) 4.子弹回收(回收子弹的意思就是把子弹状态还原,并且从界面中移除) 5.子弹对象池的设计(综合上面四点,设计一个简单的对象池) 6.主角发射子弹 首先,我们先新建一个IdentityType.…
配置Egret的开发环境是很简单的,去https://www.egret.com/products/engine.html下载 然后基本就是下一步下一步,安装好了就好了,装好了选择Wing组件,然后下载->安装(主要的代码编写就在Wing里面) 然后就是学习的路线了 1.大致的过一遍Egret的官方文档,对Egret引擎有一个基本的认识 http://developer.egret.com/cn/github/egret-docs/Engine2D/index.html?home=1 2.看完入…
我记得之前谁说过,大部分程序员入行,都是因为小的时候的游戏机啊,各种电子设备啊....觉得有意思,才入的行 . 至少我本人是因为之前上高中那会儿,喜欢玩手机.那会儿还是MTK,塞班的时代,喜欢拿着手机去各种论坛下载破解版的游戏,没日没夜的玩啊,各种打杀啊,然后后面就毅然决然的入了这行..... 但是工作快四年了,也没写过一个游戏,大多是做一些增删改成为主的web项目和一些自己都不会去用的APP. 下半年的时候,突然想咸鱼翻一下身,想学习一下写游戏.于是就开始之前的Mono Game的学习,学之前…
最近无聊,好久没有写游戏了,决定学习下egret,主要原因:egret是h5框架,相比android和iPhone或cocos2dx来说不需要安装可以直接运行. 下面进入正题,开始学习egret 简单看了下官方文档, 1.需要安装引擎 EgretLauncher,版本号:1.1.4 安装引擎,5.2.4 2.安装开发工具 Egret Wing3,版本号4.1.6 3.创建项目,跟着官方文档就好 各文件夹功能说明 .wing:包括 Egret 项目的任务配置文件和启动配置文件. wingPrope…
1,Egret的程序入口: C和java是以一个main函数作为入口,但egret类似于ActionScript 是以一个文档类作为入口,确切的说是以这个文档类的构造函数作为入口: 2,文档类的构造函数即egret程序的入口函数,可以看到入口函数内有这样一行代码: this.addEventListener(egret.Event.ADDED_TO_STAGE,this.onAddToStage,this) 目前只需要知道这行代码保证了onAddToStage方法执行时,文档类实例已被添加到舞台…
1,创建新项目HelloWorld ,可以在界面上点击文件->新建,也可以在命令行使用create: 2,src 目录,存放我们的代码.我们编写的代码都放在src目录下面. bin-debug 目录,项目编译和运行的debug目录,一般我们不要修改该目录下的内容. libs 目录,这里面存放我们的库文件,包括 Egret 核心库和其他扩展库.当然以后添加了第三方库的话也会放在这里. resource 目录,这里放置我们的资源文件,这里面有一个default.res.json 配置文件,用来配置资…
1,简介 1)egret是一个开源免费的游戏框架,它使用TypeScript脚本语言进行开发:当游戏完成最终的打包后,可以将程序转换为h5游戏,实现跨平台性:它基于BSD(Berkly Software Distribution 伯克利软件发行)协议: 2)它不仅是基于h5的游戏引擎,还提供了很多辅助游戏开发的工具.准确的来说egret是一套游戏开发的 解决方案.既可以使用该引擎开发h5游戏,并运行到手机和PC端的浏览器中,同时也可以使用egret来搭建游戏开发工作流: 2,安装过程: 到官网下…
运行起来,虽然主角飞机和敌机都在互相发射子弹,但是子弹打中了就和没打中效果是一样的.. 这一章我们就来处理子弹和飞机的碰撞问题. 我们所有的操作都是基于Main这个容器来做的.所以我就把这个处理放到Main里面,监听Main的ENTER_FRAME事件 this.addEventListener(egret.Event.ENTER_FRAME, (e) => { //判断子弹是否和飞机碰撞 let isHit = this._bullets.IsHit(this._Hero) // consol…
经过前面几章的准备,我们差不多已经具备了一个基本的框架,这一章我们就开始添砖加瓦了. 敌机定时发射一个子弹,子弹的方向是从上到下,但是发射子弹的代码应该放在哪儿呢? 从面向对象编程的思想来说,子弹是敌机发射的,我们发射子弹的操作应该放在敌机类里面.也就是EnemyPlane.ts.之所以放在敌机的基类里面,就是想能实现代码复用,加入要实现其他的敌机,也可以复用这段代码 在EnemyPlane.ts的构造方法中,我们加入一个Timer this._timer = new egret.Timer(1…
在游戏过程之,敌机是源源不断的冲屏幕上方往下飞,如果我们每一架敌机都直接new的话,在飞机很多的情况下,也许有性能问题. 就像前面子弹对象池一样,我们也要实现一个飞机对象池,也就是标题说的敌机工厂(之所以叫工厂,我觉得飞机是从工厂里面生产出来的,没有飞机冲池子里面捞出来吧...所以叫工厂.当然叫敌机对象池也没啥问题) 新建一个EnemyFactory.ts文件 class EnemyFactory extends egret.DisplayObjectContainer { _timer: eg…
有了子弹,总得有敌人来打吧,不然游戏有啥意思呢?今天我们来实现敌机从屏幕上边往下飞 参考微信打飞机游戏里面,敌机分为3种 1是特小飞机,2是小飞机,还有一种就是大飞机 面向对象编程提倡抽象,实现代码复用的目的.所以我们打算把飞机的相同的点都抽象到飞机基类里面. 新建一个文件EnemyPlane.ts,敌机类,以后我们所有的飞机,都从这个类来扩展 class EnemyPlane extends egret.DisplayObjectContainer { _enemy: egret.Bitmap…
今天继续写点击了开始之后,添加一个飞机到场景中,然后这个飞机的尾巴还在冒火的那种感觉 先拆解一下步骤 1.首先完成飞机容器的图片加载 2.然后把容器添加到场景中 3.然后实现动画 -首先,我们新建一个TypeScript的类叫做HeroObject,英雄对象,哈哈,我命名水平不怎么高.然后继承自egret.DisplayObjectContainer class HeroObject extends egret.DisplayObjectContainer { _textures: egret.…
游戏背景里面的猪脚飞机看起来是一直在向前飞,但是实际上只是一个视觉差而已. 猪脚是出于不动的状态,背景从上到下滚动,然后让玩家觉得飞机在不停的往前飞.(当然这只是其中一种实现思路) 差不多就是这样,然后两张图片一直滚动,上面的图,滚动到最底下,马上又跑到最上面去,一直循环,就有了一个滚动的效果 然后我导入了一张背景图 然后重新打开我们的BgContent.ts文件,把里面的黑色背景的代码×掉,然后改为 bgbitmap1: egret.Bitmap; bgbitmap2: egret.Bitma…
打开 Egret Wing,新建一个Egret游戏项目,然后删掉默认生成的createGameScene方法里面的东西 然后新建一个BeginScene.ts的文件,作为我们的游戏的第一个场景 class BeginScene extends egret.DisplayObjectContainer { public constructor() { super(); this.addEventListener(egret.Event.ADDED_TO_STAGE, this.Init, this…
大致看了一遍Egret的官方文档,就开始打算使用Egret来开发一个打飞机游戏. 首先来捋一捋思路,先来看一看一个打飞机游戏的图片 基本上一个打飞机游戏分为 开始游戏   ----------进入游戏的第一个显示对象.必须点击开始游戏界面的开始游戏,才能进入游戏去开始玩 背景   ------背景我们就用两个图片来循环滚动 敌机  -------随机出现N个敌机,并且会不停的发射子弹 猪脚 -------猪脚也会不停的发射子弹 敌人的子弹  ------由敌机发出的子弹,向下飞 猪脚的子弹  …
最近h5小游戏比较流行,本来我是做cocos2dx的,一开始想用它的js版. 可惜看着js真是头大.于是选择了egret,egret采用typescript,学过面向对象的,上手还是比较快的,而且api比较清晰. 这里记录一下遇到的问题. 1.Error: #1006: 提供的 DisplayObject 必须是调用者的子级 如: parent.removeChild(child)其实child不是parent的子节点 一种情况是添加到了stage上,误以为是类自身上. 一种情况是child实例…
环境说明: 引擎版本:5.2.4 Egret Wing 4.1.6 1.下载依赖,下载地址https://github.com/egret-labs/egret-game-library/tree/master/tiled 2.新建一个游戏项目Tank 3.将上面包含tiled库的libsrc文件夹放置在 Egret 工程的父文件夹 /工作空间 -----/Tank -----/libsrc 4.修改 Egret 工程内根目录下的egretProperties.json,在modules下添加t…
最近因需要,入手H5游戏. 写游戏当然需要有引擎. H5游戏开发:游戏引擎入门推荐 如何选择 H5 游戏引擎 白鹭引擎和layabox哪个好用,哪个技术更成熟 ? LayaBox 与 Egret 选择哪个呢? Egret 4.1.6 和 LayaBox(LayaAir 2.0) 的 易用性 对比 经过初步分析和咨询,基本确认Egret和LayaAir, 个人讲真从官网和社区逛过后.真心喜欢LayaAir一些.但是最后还是选择了这一只白鹭. 要学习当然要有学习资源. Egret官网 其首页的新闻动…
第四篇(学习篇) 好了,今天继续把昨天的问题解决了. 今天见鬼了. 现在界面又出来了.唯一我动过的地方,应该就是这里: 是的,我点了一下刷新.之后,不管我怎么创建新的EXML文件,放在src目录,还是resource目录,界面都会出来了. 甚至复制MainSkin.exml文件,然后改名,界面照样还是出来了. 既然如此,我们昨天的问题就解决了.接下来往下看: 那么接下来,就要对MainSkin.exml文件里的UI界面,进行输入框非空判断了. 不过,在操作之前,需要补充一些前面的知识点,因为3.…
1.资源记载方式 (1)Egret引擎是2.0.5. (2)resource/resource.json文件是: { "resources": [ { "name": "bgImage", "type": "image", "url": "assets/bg.jpg" }, { "name": "egretIcon", &quo…
1,重新设置舞台大小,可以直接到VS中的 "解决方案"中,找到 launcher->egret_loader.js中,找到setDesignSize方法,修改其中大小即可:有时直接在游戏运行时修改,然后保存刷新就行: 2,texture 是Texture 纹理类的纹理对象,通过getRes("纹理名字")方法来获取要加载的纹理资源,然后赋值给位图对象: private createBitmapByName(name : String) : egret.Bitm…
官方地址:https://developer.egret.com/cn/article/index/id/518 官方案例:https://github.com/egret-labs/egret-examples/tree/rc/v2.5/EUIExample 如何使用EXML 第一种方式,直接引用EXML文件 EXML的根节点是Skin,表示这个文件描述的是一个皮肤. 在EXML根节点是Skin的情况下,可以直接使用组件的skinName接受EXML文件路径,这通常也是最普遍的使用情景. 这里…
1 p2库下载: https://github.com/egret-labs/egret-game-library/tree/rc/4.1.0 2 p2 作者demo:https://github.com/schteppe/p2.js 3 p2 在线API:http://schteppe.github.io/p2.js/docs/ 4 Egret教程: 认识HTML5物理引擎P2:http://www.ladeng6666.com/blog/2015/05/17/get-start-with-p…
第二十篇(书中 9.1~9.3 节 内容 组件篇) 第八章中的内容. 以上都是基本的Js知识,我就不录入了. 直接来看 第9章. 开始 9.1节. 以上内容告诉你,Egret官方舍弃了GUI,使用了EUI. 至此,9.1节 内容结束. 开始 9.2节 内容. 重点: 1.Label组件的 普通文本使用 和 富文本使用. 操作: 1.Label组件的 普通文本使用 和 富文本使用. 至此,9.2节 内容结束. 开始 9.3节 . 重点: 1.用代码创建按钮. 2.查看按钮的内部构造,以及修改按钮的…
第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操作: 1.类型推断. 其实在写的时候,还没运行,就已经报提示了. 2.类型强制转换,使其拥有代码提示功能. 不使用强制转换时,是没有代码提示的. 使用了之后,就会有提示了. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. instanceof 和 typeof 就不说了,就只看看…
第十八篇(书中 8.5~8.7 节 内容) 其实语法篇,我感觉没必要写录入到日记里. 我也犹豫了好久,到底要不要录入. 这样,我先读一遍语法篇的所有内容,我觉得值得留下的,我就录入日记里. 不然像昨天那样,浪费了不必要的时间. 关于 JS.TS的知识,就去腾讯课堂看好了.日记里就不再提了. 好,我看了一下,觉得 8.5节 内容是属于Egret的范畴的. 开始 8.5节 . 重点: 1.get和set的声明. 2.get和set的覆盖. 跟做: 1.get和set的声明. 输入prop,然后按Ta…
第十七篇(书中 7.4~8.2节 内容) 昨天看到 7.3 节,那么今天. 开始 7.4节.     好吧,这些其他的服务器运行知识,就不搞了... 至此,7.4节 内容结束. 开始 7.5节 内容. 额...后期接触到,我会去整整看的.现在先专心搞Egret. 至此,7.5节 内容结束. 开始 7.6节 内容. · 嗯...这节怎么说呢,其实就是把前面学会的,连贯的做一遍. 好吧,那我就做一遍吧. 我先去找点资源. 好,我找到资源了. 第一步,导入资源. 第二步,创建EUI组件. 在src目录…
第十六篇(书中 6.10~7.3节 内容) 昨天搞定了6.9节,今天就从6.10节开始. 其实这个蛮简单的. 这是程序员模式. 这是设计师模式. 至此,6.10节 完毕. 开始 6.11节. 有点没营养..算了 至此,6.11节 完毕. 开始 6.12节. 1.基本都没问题. 2.做过了. 3.拉伸时,保持位置比例不变. 4.做过了. 至此,6.12节 完毕. 开始 7.1节. 好吧,其实也已经做过了.在 第九篇. 至此,7.1节 完毕. 开始 7.2节. 重点: 至此,7.2节 完毕. 开始…
第十三篇(书中 5.2~5.3节 内容) 写日记已经十天多了,我发现越到后面,我书写的方式越来越程序化. 感觉渐渐失去了人类所谓的感情似的. 不过,没想到的是,书中的内容,很少出现了错误,我一路过来到现在都很顺.并没有踩到什么坑坑洼洼的东西. 因此,群Q里也相对较少的提问了.哈哈,不知道是好事还是坏事. 好了,不唠叨了,开始学习. 昨天搞定了5.1节,那么今天 5.2节 开始. 总结一下 5.2节 的重点: 1.为了解决拉伸按钮时,产生的形变,需要使用九宫格. 跟着做: 重点1:为了解决拉伸按钮…