Egret 纹理、计时器】的更多相关文章

1. 九宫切 典型例子就是圆角矩形的拉伸问题. 先去P一张绿色的圆角矩形. private createGameScene():void { var box:egret.Bitmap = new egret.Bitmap(); box.texture = RES.getRes("box_png"); //拉伸 box.width *= 2; //矢量绘图是 Shape/Sprite 的 graphics 有的功能,才有自身的 width/height 与 所绘图形的 width/hei…
1. 理集的使用 :http://www.codeandweb.com/ 下载软件: TexturePackergithub: 相关工具:https://github.com/ping-chen/egret-tool 2. { "groups": [{ "keys": "logo", "name": "lg" } ], "resources": [ { "name":…
一 自定义计时器 因为游戏中经常用到计时器,比如每1秒发射一枚子弹啊,每2秒怪物AI自动转向啊 每次去new Timer 然后addEventListener(egret.TimerEvent...     之类的太麻烦了. 所以自定义一个计时器 二  决战沙城的自定义计时器 来看看决战沙城的自定义计时器 原理就是egret.Ticker每帧执行,让列表里TimerHandler加上时间或帧,检查当到了计时时间结束时,就执行回调. /** * Created by yangsong on 201…
1,重新设置舞台大小,可以直接到VS中的 "解决方案"中,找到 launcher->egret_loader.js中,找到setDesignSize方法,修改其中大小即可:有时直接在游戏运行时修改,然后保存刷新就行: 2,texture 是Texture 纹理类的纹理对象,通过getRes("纹理名字")方法来获取要加载的纹理资源,然后赋值给位图对象: private createBitmapByName(name : String) : egret.Bitm…
首先,我们准备两张图片,一张作为背景“瓶子”,一张作位填充物“饮料”. 在皮肤里我们设置右边图片的填充模式为“repeat”,修改Y的缩放为:-1.,调整图片位置使之与地图重合,如下: 现在,我们可以通过修改填充图片的高度来增加或减少填充物,代码如下: //更新聊天界面好感度 let heartNum=;//数字 //假设填充物的计算方法为:heartNum*0.75+25 ) { ; } 需要特别说明的是.填充图片须为正常方向旋转180度后的图片. 如下:                   …
1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时,在引擎渲染的时候也会减少IO读取,从而提高性能. 2.只要发生事件,Flash就会调度事件对象.如果事件目标不在显示列表中,则Flash Player或AIR将事件对象直接调度到事件目标.例如,Flash Player将process事件对象直接调度到URLStream对象.但是,如果事件目标在显示…
下面简单介绍一下我这个游戏:基本上就3个画面(准备再添加一个胜利的界面)开始画面,一个按钮,点击进入游戏游戏画面,滚动的背景,触摸移动的老鹰,从天而降的翔,以及右上角的时间条结束画面,显示结果,关注按钮和重玩一次按钮  游戏主文件:GameContainer.ts(游戏逻辑)4个类文件:GameUtil.ts(功能集合),BgMap.ts(背景滚动),Shit.ts(翔的创建和回收),ScorePanel.ts(结果展示) /**GameUtil.ts*/ /**基于圆心的碰撞检测*/ publ…
1.资源记载方式 (1)Egret引擎是2.0.5. (2)resource/resource.json文件是: { "resources": [ { "name": "bgImage", "type": "image", "url": "assets/bg.jpg" }, { "name": "egretIcon", &quo…
egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. 第一步 添加HTML元素 <div id="divImage" style="background: #373737;display:none;text-align:center;z-index:99;width:100%;height:100%;position: abs…
游戏中的对象按照物理规律移动,体现重力.引力.反作用力.加速度等物体特性,实现自由落体.摇摆运动.抛物线运动,以及物理碰撞现象的模拟.用于模拟物理碰撞.物理运动的引擎称为物理引擎. 来自瑞典斯德哥尔摩大学的Stefan Hedman基于JavaScript,开发了一款面向HTML游戏的2D物理引擎,P2物理引擎.P2和Box2D物理引擎一样,集成了各种复杂的物理公式和算法,帮助实现碰撞.加速.自由落体等物理对象的模拟. P2是一个开源项目,可在GitHub下载,使用build中的p2.min.j…
教程目录一 计时器简介二 计时器实现三 Demo下载 一 计时器简介在手机上跑游戏时,可能由于运动物体过多,导致帧频太低,计时不准确.比如一些倒计时的游戏,可能倒计时30s,变成了35s.比如iphone运行流畅游戏倒计时60s,实际耗时60s,而android有点儿慢,倒计时60s,实际耗时70s.比如一些物体运动,每帧移动1像素,60fps,移动60像素,由于卡顿,帧频降低到40fps,那么实际这个物体只移动了40像素.比如在unity中,有两种帧环FixedUpdate跟Update,Up…
最近因需要,入手H5游戏. 写游戏当然需要有引擎. H5游戏开发:游戏引擎入门推荐 如何选择 H5 游戏引擎 白鹭引擎和layabox哪个好用,哪个技术更成熟 ? LayaBox 与 Egret 选择哪个呢? Egret 4.1.6 和 LayaBox(LayaAir 2.0) 的 易用性 对比 经过初步分析和咨询,基本确认Egret和LayaAir, 个人讲真从官网和社区逛过后.真心喜欢LayaAir一些.但是最后还是选择了这一只白鹭. 要学习当然要有学习资源. Egret官网 其首页的新闻动…
相关:http://edn.egret.com/cn/index.php/article/index/id/154 1.Timer 的使用方法非常简单,我们只需要关心两个属性,三个方法和两个事件即可. 两个属性分别是 delay 与 repeatCount ,两个属性分别表示每次间隔的时间(以毫秒为单位)和执行的次数(如果次数为0,则表示不停的执行). 关心的三个方法为 start . reset 和 stop. 从方法的字面意思中不难理解,三个方法的作用分别是开始计时,重新计时和暂停计时. 最…
关于Egret 构建2D游戏,开源. TS + JS 完成打包后可以转换成HTML5的游戏(跨平台) Egret特点 1. 优秀的设计思想 2. 高效的渲染模块 3. 完善的配套工具 4. 灵活的工作流 Egret功能(继承了flash的特点,更针对游戏开发) 显示列表 Sprite精灵 事件机制 纹理集合 矢量绘图 网络加载 位图字体 性能监控 发射 XML处理 骨骼动画 资源加载 GUI ... 官网 www.Egret-labs.org 关注的是文档中心 学习过程 1. 2D: devel…
## 来自官方的优化建议 详见:http://edn.egret.com/cn/article/index/id/287 (1) 少使用Alpha混合. (2) 显式停止计时器,让它们准备好进行垃圾回收. (3)使用事件侦听器并在不需要时删除这些侦听器. (4) 在不需要触摸交互性时显式禁用触摸交互性. (5) 合理使用dispatchEvents 函数. (6) 尽可能重用对象,建立对象池,而不创建对象并对其执行垃圾回收. (7)多次调用类属性时,避免直接使用this.att,建立局部变量赋值…
官网教程-生命周期:http://developer.egret.com/cn/2d/lifecycle 主要是在游戏置于后台时,关闭游戏逻辑.渲染逻辑和背景音乐,保证更好的用户体验. 一 Egret 5.1版本新API 5版本引入了egret.Ticker.egret.lifecycle  API来暂停: 二 源码位置 egret.ticker就是SystemTicker,同时lifecycle也在SystemTicker.ts 文件里. 三 暂停流程 首先在WebLifeCycleHandl…
egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. 第一步 添加HTML元素 <div id="divImage" style="background: #373737;display:none;text-align:center;z-index:99;width:100%;height:100%;position: abs…
一 自定位图文字 因为egret的位图文字是texturemerger做的,需要多张单图片导入tm,然后导出两个文件来使用,过程比较麻烦. 而Laya的位图文字则是一张整图数字图片,使用FontClip就能直接使用, 很方便. 所以现在弄个自定义的位图文字类,也不用tm去导图了. 二 决战沙城的位图文字代码 先来看看别人的.据说这个框架里的位图文字被用于很多大型H5 mmo项目.14年写的工具类ε=(´ο`*)))唉. 主要原理就是1个字1个bitmap,然后并列排起来.“123“就是3个bit…
第八篇(书中 2.0~2.6节 内容) 好!开始把前三章的内容录入进来. 但是!由于第一章说的内容都是在介绍白鹭引擎的背景信息,我就不在日记中写了. 直接开始从第二章写起. 2.0节 中提到了IDE(代码编辑器)最好使用Egret提供的Egret Wing. 接下来是 2.1节 . 总结一下 2.1节 重点: 1.快捷键的使用. 2.鼠标右键菜单提供的基础功能. 跟着做,感觉就没必要了.太简单了. 接下来看 2.2节 的内容. 总结 2.2节 的重点: 1.可以创建不同的项目类型 跟着做: 重点…
现象 总体而言,iOS 14 渲染性能变差,可以从以下三个测试看出. 测试1:简单demo,使用egret引擎显示3000个图(都是同一个100*100 png 纹理),逐帧做旋转.(博客园视频播放可能有问题,视频地址:https://github.com/kenkozheng/kenkozheng.github.com/blob/master/WebGL/ios14/video/1.mp4?raw=true) 视频中,黑色机器是iOS14.0,白色是iOS13.7,都是iphone 7plus…
Texture Merger 可将零散纹理拼合为整图,同时也可以解析SWF.GIF动画,制作Egret位图文本,导出可供Egret使用的配置文件,其纹理集制作功能在小游戏开发中可以起到降低小游戏包体的作用,是开发者们最为喜欢的靠谱软件开发工具之一. 下面就为大家介绍Texture Merger的使用教程. Texture Merge1.7.2版本相比之前操作更加便利,优化了内存占用,修复了命令行输出json中key值错误的问题. 打开TextureMerger,分为三个选项: 1.Egret M…
在白鹭引擎发布了5.2.7版本中新增加了命令行,增加自动合图插件TextureMergerPlugin功能.今天,我们以一个EUI案例来展示自动合图插件的具体使用方法和注意事项. 此外,我们在本文还融入了UglifyPlugin.ResSplitPlugin.ZipPlugin等插件使用方法.开发者利用上述4款插件,将实现代码包体积更小.更好管理的目标. 目录: 使用UglifyPlugin将代码混淆压缩使用ResSplitPlugin把部分资源分离出去使用ZipPlugin把文件压缩成zip格…
首先,自从使用链式调用的写法后,就一发不可收拾的喜爱上了这种优雅的方式.不管是写架构还是写模块,我都会不自觉的使用这种最优雅的方式.链式写法既减少了代码量,又非常优雅的. 在使用 egret 的http请求时,发现代码量很大,而且比较繁琐,不能每次都要写这么多的代码吧--那来看看正常的写法是什么: getTest(): void { //一点也不优雅 var loader: egret.URLLoader = new egret.URLLoader(); loader.dataFormat =…
可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲述一下了. <Chronometer android:layout_width="wrap_content" android:layout_height="wrap_content" android:format="%s" android:id…
Sampler (GLSL) Sampler通常是在Fragment shader(片元着色器)内定义的,这是一个uniform类型的变量,即处理不同的片元时这个变量是一致不变的.一个sampler和一个texture对应,类型也是对应的,比如sampler2D 的sampler对应的就是GL_TEXTURE_2D类型的纹理对象.Sampler是个变量,但是它是没有值的,或者說是特殊的一种类型,讨论其数值没有意义,只要明确其同一个texture对应即可.sampler变量在shader内使用的地…
CSharpGL(10)两个纹理叠加 本文很简单,只说明如何用shader实现叠加两个纹理的效果. 另外,最近CSharpGL对渲染框架做了修改,清理一些别扭的内容(DoRender()前后的事件都去掉了,明确了Renderer的概念).本文顺带也成了对新框架的一个应用过程的例子. 下载 这个示例是CSharpGL的一部分,CSharpGL已在GitHub开源,欢迎对OpenGL有兴趣的同学加入(https://github.com/bitzhuwei/CSharpGL) 先写shader Sh…
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考. 为了尽可能提升渲染效率,CSharpGL是面向Shader的,因此稍有难度. +BIT祝威+悄悄在此留下版了个权的信息说: 一图抵千言 您可以在(http://files.cnblogs.com/files/bitzhuwei/VolumeRender…
参考文献: http://bbs.egret-labs.org/thread-267-3-1.html http://docs.egret-labs.org/post/manual/threelibs/uselibs.html 假设我的项目在c:\egret\demo 1. 项目发布后,有一个index.html,添加一段js: <script type="text/javascript">// http://bbs.egret-labs.org/forum.php?mod…
一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type gui.生成一个带gui的项目. 2. 用webstorm打开这个傻逼项目. 3. 修改theme.thm: { "skins": { "egret.gui.Button":"skins.simple.ButtonSkin" } } 4. 修改re…
UnistrokeRecognizer 单笔手写识别.手势识别 UnistrokeRecognizer : https://github.com/RichLiu1023/UnistrokeRecognizer ===>顺便点个星 此版本可以在 Egret 中直接使用. 此库的识别率非常高,完美解决我游戏中的手势! 1.自定义手势库,灵活定义各种手势 2.用量角器(快)识别算法 3.黄金分割搜索算法 Demo 使用Egret,可以自定义手势. //自定义手势添加 addGesture(name:…