LayaAir 是 HTML5 开源引擎。
提供 Canvas 和 Webgl 同时渲染,如果 Webgl 不可用,则可自动切换到 Canvas 模式。引擎为高性能游戏设计,支持 AS,TS,JS 三种语言开发,一套代码三端齐发(Flash,HTML5,APP)。
极致性能
LayaAir优先使用webgl渲染,如果webgl不可用,自动无缝转为canvas渲染,引擎设计过程中处处以性能为优先原则,LayaAir是为裸跑而设计的HTML5引擎。
轻量易用
LayaAir API设计上追求精简,简单易用,上手容易,引擎本身非常注意自身大小,是目前同等功能最小的HTML5引擎。
支持多语言开发
LayaAir同时支持ActionScript3、TypeScript、JavaScript三种语言开发HTML5
功能齐全
同时支持2D,3D,VR、时间轴动画,缓动、UI系统、粒子动画、骨骼动画、物理系统等
提供可视化辅助开发及工具流
LayaAirIDE提供代码开发工具及可视化编辑器,清晰的工作流,让美术,策划,程序紧密配合,提高开发效率
开源免费
引擎全部开源并托管到github,并且全部免费使用,包括商用
Webgl渲染
Canvas渲染
矢量图
图集支持
加载管理器
HTML富文本
位图字体
遮罩
滤镜
时间轴动画
UI
粒子
骨骼
物理系统
可视化IDE
3D
VR
Laya.init(550, 400); Laya.stage.scaleMode = "showall"; var ape = new laya.Sprite(); //加载猩猩图片 ape.loadImage("res/apes/monkey2.png", 220, 128); Laya.stage.addChild(ape);
package { import laya.display.Sprite; import laya.display.Stage; public class Sprite_DisplayImage { public function Sprite_DisplayImage() { Laya.init(550, 400); Laya.stage.scaleMode = "showall"; var ape:Sprite = new Sprite(); //加载猩猩图片 ape.loadImage("res/apes/monkey2.png", 220, 128); Laya.stage.addChild(ape); } } }
/// <reference path="../../libs/LayaAir.d.ts" /> class Sprite_DisplayImage{ constructor(){ Laya.init(550, 400); Laya.stage.scaleMode = "showall"; var ape = new Laya.Sprite(); //加载猩猩图片 ape.loadImage("res/apes/monkey2.png", 220, 128); Laya.stage.addChild(ape); } } new Sprite_DisplayImage();
http://layaair.ldc.layabox.com/api/
http://ldc.layabox.com/index.php?m=content&c=index&a=show&catid=8&id=10
bin 编译好的类库,里面分为as,js,ts三种
samples 示例项目
src 类库源代码
utils 自动化编译及其他工具
第一章 全部课程介绍 1.1 大纲简介 1.2.课程目标 1.2.1 了解产业机会与Layabox的产品 1.2.2 认识LayaAir引擎的结构 1.2.3 真正掌握IDE的使用 场景 UI组件 脚本 动画基础 物理系统基础 1.3 本课程适合群体 无编程基础的美术 有编程基础的LayaAir引擎爱好者 第二章 Layabox简介 2.1 Layabox的前世今生 2.2 laya
1. IOS native中,js调用oc原生方法,如果返回float类型,会有精度问题导致程序崩溃,在底层源代码崩溃。之前看到一篇unity3d也有在某些ios机型上的精度问题导致的崩溃文章(貌似是雨松写的)。
一、 使用Laya官方编译器–layaair2-cmd 1. 安装 npm install -g layaair2-cmd 2. 使用 layaair2-cmd compile 3. 优缺点 小项目编译速度快,Laya编辑器内嵌该编译器,但是大型项目编译速度非常慢 二、 Webpack 1. 安装 首先将项目初始化为npm项目,在项目根目录下执行npm init 然后安装依赖: npm insta
此功能旨在降低H5游戏接入手Q轻游戏成本,同时提供手Q相关的能力:用户信息、排行榜、分享等 支持版本:安卓手 Q 7.6.0 及以上,iOS 7.9.0 及以上 H5游戏包上架与正常游戏包上架流程一致 H5游戏包说明 H5游戏包与普通游戏包有所不同,游戏专用包地址 gameConfig.json:游戏配置文件,H5需重点关注 main.js:使用Bricks引擎开发的游戏的代码文件,H5游戏不用关
问题内容: 我最近一直在研究游戏开发,而我的第一种编程语言是Java。在玩了许多用c ++开发的令人惊叹的游戏之后,我想知道为什么Java在游戏行业中没有被大量使用。我查看了jMonkeyEngine 3和其他一些游戏引擎环境,但是看到的屏幕截图远没有那么令人惊叹。诸如EA的《极品飞车》(Need for Speed Hot)和ubisoft的Assassins Creed等标题传达了这种现实感。
8.6一面,supercell部门,邮件上写的游戏发行,实际还是技术部门,被拷打一个小时 先问简历和项目,提到角色骨骼动画(简历相关),骨骼动画的原理和生成过程,判断2D下线与矩形相交,射击游戏中子弹如何判断碰撞,速度过快时如何判断穿墙和击中(简历相关),判断点在三角形内 图形学八股,渲染管线,太久没碰忘了很多 cpp八股,泛型、特化介绍,虚函数、多态介绍,堆栈内存不同点,进程和线程不同点 算法,
看到没什么发多益的同学,我就发一个给大家参考参考吧,一面是业务面,面了70min,二面是HR面,问的什么忘了 问项目(做了什么、难题怎么克服),和项目组成员以及需求方怎么沟通的 项目中信息如何加密,未收到信息如何处理? 项目中用redis做什么,用了redis的哪些数据结构?为什么用这些数据结构? 项目中事件的逻辑引擎怎么设计的?设计的思路是上面? 最熟悉的两种语言以及他们的优缺点 深拷贝和浅拷贝
一个顶点从局部坐标怎么到屏幕上; NDC 空间的范围是什么;所有平台都是这样吗; 在 NDC 空间的点如何变换回世界空间; MSAA 的原理和实现细节;为什么要用 MSAA; 锯齿出现的原因;走样背后的原理; irradiance 和 radiance 的区别;量纲分别是什么;积分表达; 写出渲染方程;解释下每项的含义; 写出 Cook-Torrance BRDF 公式; 解释漫反射型;兰伯特项为
offer已经有一小段时间了,其实之前就打算发,但是最近在赶前一阵因为找实习而搁置的活。这两天有点闲工夫,就把之前记录的一点点面经发一下,回馈社区。 (看其他真正的引擎佬面试强度比我高太多了,相比之下我就是个臭弟弟,运气太好了。面试中也看到了很多不足,得抓紧补起来了) timeline 3.22 投递(过了个周末,3.25周一约了3.27一面) 3.27 一面(当天过,并约次日二面) 3.28 二
你的常用的数据结构都有什么? HashMap和HashSet的区别? 怎么构造一个HashMap HashMap优势是什么? 还有什么需要注意的? 扩容机制,hash冲突? 如果你去设计一个Hash函数怎么设计呢? 一般 HashMap多线程情况下会出现什么问题? 怎么解决扩容死链的? 尾插会有什么问题? 数据错乱问题以外还有什么其他问题? 怎么解决这个问题? councurrentHashMap
介绍软光线追踪项目; 讲述光栅化里的MSAA和SSAA的区别; 讲述布林冯光照模型; 讲述Cook-Torrance BRDF;微表面模型中如何反应材质的粗糙程度? 讲述延迟管线和前向渲染; 光照计算发生在哪个shader里; forward+在移动端和PC上的底层实现(不会); 虚函数/纯虚函数/重载/析构函数相关; 指针和引用的区别; 计算结构体的内存大小; 如何用代码判断机器是否为大小端;