你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[]Starling项目需要注意哪些问题?
没有找到相关结果
已邀请:
与内容相关的链接
提交
1 个回复
cuixueying
赞同来自:
1.ATF格式的压缩纹理资源不支持,转换H5的时候需要还原成原来的资源, ATF是Stage3D内置支持的纹理压缩格式,并非一个通用的纹理压缩格式,建议转换回png或jpg的纹理格式。
2.Embed资源不支持,需要使用AssetManager来管理资源,或者使用Loader, URLLoader等自己实现异步加载
Starling内置了一个资源管理类AssetManager,建议使用AssetManager的enqueue来无缝调入各种游戏需要的资源。如果需要自己实现自己的Loader或者URLLoader的话,需要参考Starling内部AssetManager对资源处理的实现。
3. 需要注意Starling TextField内字体的实现效果.
Starling的TextField通过Flash的TextField画到纹理来实现,LayaBox的StarlingToHtml5项目使用WebGL的Canvas来实现字体效果, LayaBox已经实现了绝大部分的效果,但极少部分效果还需要在字体显示到游戏中后(比如浏览器无法找到字体等)再根据显示情况进行手工的微调。
4. 只要是3D程序,必须在入口类内引用Context3D
如果是3D项目(含Starling的项目),一定要在游戏入口类里加入
import flash.display3D.Context3D;
不引入则是2D项目,会把3D相关的库编译时剔除掉。
5. Starling的扩展与修改Shader,必须进行相应的修改。
如果程序内全部是使用Starling内部的渲染模式与组件,则无需考虑修改shader相关的部分,内部已经进了AGAL2GLSL的转换。 对于高级用户,如果修改了Starling内置的AGAL,或者新加入了AGAL,则必须对修改或新写的AGAL做对应的转换GLSL处理,可参考Starling内部的AGAL2GLSL修改实现。
6. Starling底层Stage3D的CullMode与WebGL的CullMode是相反的。
如果程序内部有关于context3D.setCulling(Context3DTriangleFace.BACK)类的设置,则必须条件编译成Context3DTriangleFace.FRONT,反之亦然。
7. Starling本身会用到一些flash内BitmapData,这些在Laya目前的版本中暂不支持。
比如以下代码:
var map:BitmapData = new BitmapData(width * scale, height * scale, false);
map.perlinNoise(20*scale, 20*scale, 3, 5, false, true);
var texture:Texture = Texture.fromBitmapData(map, false, false, scale);
用到了BitmapData的perlinNoise接口,这个接口Laya暂不支持,我就就必须用静态的纹理来替换这个动态生成的纹理。类似于如下的代码:
var texture : Texture = Game.assets.getTexture( "perlin_noise" );
8. 其它LayaFlash 2D内必须要遵守的程序规则或转换规则。
要回复问题请先
登录
发起人
haliluya
相关问题
laya针对页游耗用内存大的问题是如何解决的?
unity导出粒子文件问题
LayaAir3D UnityPlugin 使用须知-版本更新-问题解答(最新版本:1.7.16)
TS项目使用matter.js库无智能提示
Laya2.12.0项目出现卡顿现象(必现)
关于适配采用showAll后留白部分的颜色问题
如何通过命令行工具构建和发布项目
Laya2.0项目文件过多导致编译内存不够,请问在哪里设置增加编译内存(急)
layaair3.1.3版本打出的项目中的text与label组件在vivo小游戏引擎1105及以下文字显示异常
layaAir TS项目如何引用protoBuf库?
配置layaAir需要注意的
问题状态
最新活动:
2015-12-08 11:45
浏览:
4062
关注:
2
人
商务合作
1 个回复
cuixueying
赞同来自:
2.Embed资源不支持,需要使用AssetManager来管理资源,或者使用Loader, URLLoader等自己实现异步加载
Starling内置了一个资源管理类AssetManager,建议使用AssetManager的enqueue来无缝调入各种游戏需要的资源。如果需要自己实现自己的Loader或者URLLoader的话,需要参考Starling内部AssetManager对资源处理的实现。
3. 需要注意Starling TextField内字体的实现效果.
Starling的TextField通过Flash的TextField画到纹理来实现,LayaBox的StarlingToHtml5项目使用WebGL的Canvas来实现字体效果, LayaBox已经实现了绝大部分的效果,但极少部分效果还需要在字体显示到游戏中后(比如浏览器无法找到字体等)再根据显示情况进行手工的微调。
4. 只要是3D程序,必须在入口类内引用Context3D
如果是3D项目(含Starling的项目),一定要在游戏入口类里加入
import flash.display3D.Context3D;
不引入则是2D项目,会把3D相关的库编译时剔除掉。
5. Starling的扩展与修改Shader,必须进行相应的修改。
如果程序内全部是使用Starling内部的渲染模式与组件,则无需考虑修改shader相关的部分,内部已经进了AGAL2GLSL的转换。 对于高级用户,如果修改了Starling内置的AGAL,或者新加入了AGAL,则必须对修改或新写的AGAL做对应的转换GLSL处理,可参考Starling内部的AGAL2GLSL修改实现。
6. Starling底层Stage3D的CullMode与WebGL的CullMode是相反的。
如果程序内部有关于context3D.setCulling(Context3DTriangleFace.BACK)类的设置,则必须条件编译成Context3DTriangleFace.FRONT,反之亦然。
7. Starling本身会用到一些flash内BitmapData,这些在Laya目前的版本中暂不支持。
比如以下代码:
var map:BitmapData = new BitmapData(width * scale, height * scale, false);
map.perlinNoise(20*scale, 20*scale, 3, 5, false, true);
var texture:Texture = Texture.fromBitmapData(map, false, false, scale);
用到了BitmapData的perlinNoise接口,这个接口Laya暂不支持,我就就必须用静态的纹理来替换这个动态生成的纹理。类似于如下的代码:
var texture : Texture = Game.assets.getTexture( "perlin_noise" );
8. 其它LayaFlash 2D内必须要遵守的程序规则或转换规则。