范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

APP小程序开源小游戏引擎,支持2D3D的游戏开发

  《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个支持2D、3D的游戏与应用开发的的小游戏引擎——LayaAir。
  支持WebGL 1.0与2.0 自适应。支持ActionScript3、TypeScript、JavaScript三种开发语言,适用2D、3D产品研发。性能媲美原生APP,一次开发HTML5、APP(安卓与iOS)、小游戏(微信小游戏、QQ小游戏、百度小游戏、支付宝小游戏、BiliBili小游戏、字节跳动小游戏、小米快游戏、OPPO小游戏、vivo小游戏、华为快游戏、等)各个平台同时发布。
  功能特性
  LayaAir引擎主要包括 引擎库  与 LayaAir IDE  两大核心部分。
  LayaAir2.0引擎库功能 LayaAir2.0引擎不仅保持了1.0的原有功能,比如:精灵、矢量图、文本、富文本、位图字体、动画、骨骼、音频与视频、滤镜、事件、加载、缓动、时间、网络、UI系统、物理系统、TiledMap、prtocol等API; 还新增内置了box2D物理引擎、组件化支持,以及150多款3D功能,比如:新增的主要官方材质包括PBRStandardMaterial、PBRSpecularMaterial以及UnlitMaterial材质等。 纹理方面,增加多种纹理参数配置(mipmap、format、wrapModeU、wrapModeV、filterMode、anisoLevel), 增加纹理上传像素接口, GPU纹理压缩。 动画方面,新增Animator动画融合功能crossFade,新增动画多层混合播放,动画更新机制调整为实时插值,大幅减少内存和动画流畅度表现,新增多种材质属性动画 支持开发2D、3D产品研发,支持同时发布为Web(浏览器、webView)、Native APP(IOS、安卓)、小游戏(微信、手Q、百度、头条、抖音、小米、OPPO、vivo、华为)、等多种版本。
  LayaAir2.0 IDE功能
  LayaAir2.0 IDE主要包括项目管理 、代码开发编辑器 、可视化编辑器 、第三方工具链支持工具 等。其中主要功能包括: 代码开发 UI与场景编辑器 场景管理(2.0新增) 粒子编辑器 动画编辑器 物理编辑器(2.0新增) 组件化支持(2.0新增) 3D支持(2.0新增) LayaCloud项目支持(2.0新增) 脚本扩展 预设 APP打包 JS混淆与压缩 第三方工具链转换工具(Unity3D、TiledMap、Spine、龙骨……)
  Laya2.0 IDE 兼容LayaAir 1.x版本的写法,在2d项目中,可以不需要太大的改动即可把原有项目升级到2.0引擎(升级前建议备份)
  Laya2.0 IDE 采用挂载组件脚本与场景管理的方式进行开发,在ide中编辑场景与页面组件,通过添加脚本的方式,使项目开发更利于程序,美术,策划的协同工作,并且对初次接触Laya的开发者,更易于上手,开发方式更友好。
  开发语言
  由于LayaAir引擎支持ActionScript3(AS3) 、TypeScript(TS) 、JavaScript(JS) 三种语言开发,到底用哪种语言更好呢?常常困惑着刚接触引擎的新手们。这里简单介绍一下。
  关于JS语言
  需要大家注意的是JS语言虽然上手更为容易,但是作为一弱类型语言,开发与调试的难度,以及大型项目的管理与多人协作等方面,都不如TS与AS3这种可以在IDE中检测类型和语法语言。当代码越来越多的时候,JS一旦不小心写错,IDE中并不会有任何提示,只有在运行的时候才会发现问题,经常有开发者为了查一个小小的失误,花费大量的时间成本。所以虽然支持JS语言开发,但并不建议采用该语言作为中型或大型项目的开发。
  关于TS语言
  TS语言是LayaAir引擎官方推荐的开发语言,也是自2.2引擎开始,LayaAir引擎源码所使用的语言。在官方的2.0引擎视频教学中,也会仅采用TS语言进行教学。
  关于AS语言
  AS语言是LayaAir 2.2版本之前的引擎源码语言,AS3语言曾经是页游时代的霸主,但自从Adobe正式宣布放弃Flash之后,也代表着该语言也将步入无人维护的境地。那一些新的语言特性自然难以支持,毫无疑问,继续使用该语言将会拖引擎的后腿。所以,LayaAir引擎源码语言进行了变更,但2.X版引擎,AS语言版本仍会保持兼容及维护。但未来3.x一定会放弃该语言的支持。所以建议开发者在创建新项目的时候不要使用AS语言。 代码示例
  场景加载
  ActionScript package LayaAir3D_Scene3D { 	import common.CameraMoveScript; 	import laya.d3.core.Camera; 	import laya.d3.core.scene.Scene3D; 	import laya.d3.math.Vector3; 	import laya.d3.math.Vector4; 	import laya.display.Stage; 	import laya.utils.Handler; 	import laya.utils.Stat; 	 	public class SceneLoad1 { 		public function SceneLoad1() { 			//初始化引擎 			Laya3D.init(0, 0); 			Stat.show(); 			Laya.stage.scaleMode = Stage.SCALE_FULL; 			Laya.stage.screenMode = Stage.SCREEN_NONE; 			//加载场景 			Scene3D.load("res/threeDimen/scene/LayaScene_dudeScene/Conventional/dudeScene.ls", Handler.create(this, function(scene:Scene3D):void { 				Laya.stage.addChild(scene) as Scene3D; 				 				//获取场景中的相机 				var camera:Camera = scene.getChildByName("Camera") as Camera; 				//移动摄像机位置 				camera.transform.position = new Vector3(0, 0.81, -1.85); 				//旋转摄像机角度 				camera.transform.rotate(new Vector3(0, 0, 0), true, false); 				//设置摄像机视野范围(角度) 				camera.fieldOfView = 60; 				//设置背景颜色 				camera.clearColor = new Vector4(0, 0, 0.6, 1); 				//加入摄像机移动控制脚本 				camera.addComponent(CameraMoveScript); 				 				//设置灯光环境色 				//scene.ambientColor = new Vector3(2.5, 0, 0); 			})); 		} 	} }
  JavaScript class SceneLoad1{ 	constructor(){ 		Laya3D.init(0, 0);         Laya.Stat.show();         Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;         Laya.stage.screenMode = Laya.Stage.SCREEN_NONE;         Laya.Scene3D.load("res/threeDimen/scene/LayaScene_dudeScene/Conventional/dudeScene.ls", Laya.Handler.create(this, this.sceneLoadFinished)); 	} 	sceneLoadFinished(scene){ 		Laya.stage.addChild(scene);         let camera = scene.getChildByName("Camera");         camera.addComponent(CameraMoveScript); 	} }  //激活启动类 new SceneLoad1();
  TypeScript import CameraMoveScript from "./common/CameraMoveScript" class SceneLoad1 {     constructor() {         Laya3D.init(0, 0);         Laya.Stat.show();         Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;         Laya.stage.screenMode = Laya.Stage.SCREEN_NONE;                  Laya.Scene3D.load("res/threeDimen/scene/LayaScene_dudeScene/Conventional/dudeScene.ls", Laya.Handler.create(null, function(scene:Laya.Scene3D):void {             Laya.stage.addChild(scene) as Laya.Scene3D;             var camera:Laya.Camera = scene.getChildByName("Camera") as Laya.Camera;             camera.addComponent(CameraMoveScript);         }));     } } new SceneLoad1;引擎示例
  环境反射
  光照贴图
  方向光
  网格加载
  基础碰撞器
  玻璃折射
  模型示例
  —END—
  开源协议:https://gitee.com/layabox/LayaAir/blob/master/LICENSE.md
  开源地址:https://gitee.com/layabox/LayaAir

X70系列3699元起!为镇住火龙888,vivo用了个意想不到的方案黄阳发自凹非寺鹅板凳公众号ebandeng赶在苹果发布会之前,vivo也发布了自家今年下半年的旗舰X70系列。外观vivo全新的X70系列共有独白至黑和星云三个配色。后置镜头模组的从使用角度谈华为freebuds3值不值这1000块华为Mate30系列发布会发布的一款真无线蓝牙耳机freebuds3,是除了手机之外我最喜欢的一款产品,就冲着它可与专业降噪耳机媲美的降噪功能,还有更加强大的交互体验,我第一时间便荣耀30系列今日入网,搭载5000万像素主摄,实锤首发麒麟985今日,工信部又有两部荣耀新机入网,目前已经确定是荣耀30系列。根据页面信息显示,小编发现了关于荣耀30系列的众多亮点。如上图所示,荣耀30系列手机主摄为5000万像素,这和之前网上百元主动降噪真无线蓝牙耳机,荣耀flypods3使用体验想写一个荣耀flypods3的使用体验很久了,但是之前一直没上市,所以还是等等再写。上市之后写体验我觉得更加有实际意义一些,毕竟有人已经有人体验过,真话假话大家一看便知。首先是包装华为智能家居生态链达伦护眼台灯体验评测台灯,我相信它是很多家庭必备的电子产品,尤其是家里有孩子的,护眼台灯那可是必不可少。现在智能家居越来越火了了,护眼台灯也加入了ioT大军的行列了,华为智能家居生态链的达伦台灯,就是便携打印小精灵,喵喵机P2S超有范提起便携打印机,大家想到的肯定是喵喵机。这次的喵喵机P2S,颜色鲜艳可爱,热敏打印,操作简单,身材小巧可爱目前是全网风靡的网红打印机。小编手上的淡黄色的P2S,一起来看看这款全新升音质与颜值兼备,千元内实力hifi耳机兴戈洛神EM2评测在当下的耳机领域,蓝牙耳机是最多被人提及的。但是如果你是一个音乐发烧友,对音质的要求比较高,那么,有线耳机才是你的不二选择。可是一般动铁HIFI耳机的价格又让人望而却步,那么有没有没有5G手机也能享受5G高速网络,华为5G随身WiFiPro体验报告随行wifi,顾明思议,就是可以装进口袋里的wifi,是一款插手机卡或者物联网流量卡的wifi发射装置。使用随身wifi,只要有运营商的网络信号,我们的电脑,手机就可以不受空间的限南卡N1S,性价比和实力兼俱的真无线蓝牙耳机这两年真无线蓝牙耳机可谓是火了起来,因为其相比于有线耳机,便利性大大得到了提高,但是市面上的真无线蓝牙耳机价格往往都很昂贵,便宜的体验又不太好,今天小编就给大家介绍一款性价比和实力苹果大招即将拯救iPhone续航,一块屏幕背后的故事比想象更精彩黄阳发自凹非寺鹅板凳公众号ebandeng苹果最近是越来越没神秘感了,什么底牌都被供应链往外掀。先是iPhone12发布延期被博通爆出,现在连iPhone13用的什么屏幕技术也从供英特尔没有苹果吃了黄阳发自凹非寺鹅板凳公众号ebandeng英特尔现在估计真的懵了,挤牙膏把老伙计都挤没了。昨晚,据彭博社报道,苹果正计划将MacBook上的处理器转为自己研发的基于ARM架构的处理
10003000手机推荐如今这个社会啊,可谓是人手一部手机,从以前的大哥大,洛基亚,从只能打电话,发短信,到现在的除了打电话,发短信,什么微信,QQ,功能可谓是应有尽有,那今天就给大家推荐同品牌系列中的几小米2021年在欧洲智能手机市场占比20苹果不及三星据国外媒体报道,研究机构的数据显示,苹果2021年在欧洲智能手机市场的份额接近四分之一,同比有明显增加,但仍不及市场份额有下滑的三星。从研究机构的数据来看,2021年全年,苹果iP不到20元这五款小米产品香爆了说到小米的产品相信大家一定不会陌生,一直以来都有着不错的性价比。今天就给大家推荐五款非常具有性价比的小米产品,单个产品的价格不足20元,简直香爆了。米家防飞溅指甲刀价格7。78元首小米年赚3。5亿,却被印度罚款5。6亿,印度半年封禁中国250个APP大家都知道,小米手机在世界上的影响力还是不错的。在印度也建厂生产,按照正常的发展思路来讲,小米的建厂势必会给当地带来就业岗位,拉动经济发展,但是印度却要罚小米数亿元,这是怎么回事?从5699跌至3654元,2K屏12GB256GBIP68防水,小米旗舰加速退场智能手机更是换代很快,去年这个时候,搭载骁龙888处理器的手机并不多,而今年很多友商的新一代骁龙8旗舰,早在春节到来前就发布了,当然有个厂商会在春节后才发布的,比如红米K50电竞版苹果小米三星OPPOVIVO手机均价对比,差距太大了众所周知,从全球范围来看,苹果是高端机的王者,占了50以上的高端机份额,之后再是三星华为OPPOVIVO小米等。当然现在随着华为手机销量下滑,华为在高端机领域已经不可能排在第三了,2022年最新超级音质降噪,6款高品质真无线耳机推荐自从苹果公司取消了iPhone系列的耳机输出后,蓝牙无线耳机就迅速流行起来。事实上,在过去几年中,各公司发布的新产品数量是过去的数倍。它们已经成为耳机的主流。其中最受欢迎的是真无线未来几个月内,即将发布的三大旗舰手机,华为苹果神仙打架这三款旗舰手机即将发布,手机还能用的再等等!第一款iPhone14ProiPhone14Pro搭载A16处理器,运行内存从6GB升级到了8GB,最大存储空间从1TB升级到了2TB,你近期最常用的app是什么?您好,我是小牛哥,很高兴能够回答这个问题,我手机上最常打开的app有!排第一的是微信,聊天,付款必用。第二的是今日头条,关注新闻,每天没事就去刷一刷,世界新闻一手掌握。第三的是相机2022年了,价格仅1799元的OPPOA95还值得买吗?从目前的手机市场来看,手机越卖越贵,比如三星S22Ultra和iPhone13ProMax,这两款旗舰手机的价格就达到了一万元。对于3000元工资的我来说,买一部一万元的手机,需要行业首个量产跨楼层停车场记忆泊车开放小鹏P5首次大版本OTA2022年2月23日今日,小鹏P5迎来上市后首次大版本OTA公测,XmartOS对应版本号为3。1。0。行业首个量产且能实现跨楼层的智能泊车功能VPAL跨楼层停车场记忆泊车开放,这