layabox游戏开发经验分享1

开头语:
layabox引擎十分好用 里面有很多实用工具和方法 都是专门为游戏开发设计的
下面分享下开发经验

如果想重新加载游戏
可以调用这个
Browser.window.location.reload();
亲测 apk 网页都可以用
但是 官方的意思是调用这个
JS(“window.reloadJS(true)”);

JS(“window”).reloadJS(true);
他封装了上面的方法
但是测试不行 各位看着来吧~

Laya.loader.on(Event.COMPLETE,this,fff);
loadermanager有一个完成事件 所有资源加载完毕可以用这个
如果想做进度条 可以用这个 Laya.loader["_loaderCount"] 这是正在加载的数量

调试用这个
DebugPanel.init();
DebugTool.init();
小图自动合并的图集也可以看到
包括cache是否被重绘

Laya.stage.fullScreenEnabled = true;
点击全屏 在某些手机浏览器里有用 苹果不行

Browser.onPC 这个属性需要 Browser.init() 来初始化

如果想用龙骨 必须下载最新版的龙骨ide 然后导出时 资源格式选择5.0版本 直接用5.0ide容易出问题
list的item里有按钮 在三星手机里不容易点
在web里 按钮里的文字是正常的 在app里靠上 和字体有关系

this.graphics.drawRect(-2,-2,4,4,color);
每绘制一次 会提高一次drawcall 所以再次绘制时 务必 graphics.clear();
this.graphics.clear(true);

关于内存释放和destroy()
一般情况 面板关闭时不做任何操作 会被垃圾回收
但也有例外 今天发现一个问题 因为list里的一些引用 无法释放 list.render = null 才可以…
最后调用面板的destroy就可以了

素材变黑块儿问题
this.graphics.drawTexture
这个方法可以把很多碎图优化成一次重绘
但如果是超大图 在低端机器上会变黑
改成普通sprite后 情况稍有好转 但渲染对象多的时候还是黑
而且游戏变的很卡 完全没法玩
查找发现 地图碎块儿是960 * 640的 不是2的次幂 改成512 或者1024的碎图 解决问题
在低端机器上 大一点的图还是会产生黑屏 尽量把图整到512以下吧

destroy()方法会移除显示对象身上的所有方法 也就是说 如果显示对象也监听了这个方法很有可能
mediator里 undisplay会不触发 要注意

点击边缘不关闭
override public function close(type:String,showEffect:Boolean = true):void{
//判断是否点击边缘,如果是边缘则不让关闭
if( type === “side” )
return;
super.close();
}
}

12.热更
layadcc E:/FBWork/SLGGAME/bin/h5re -cache -url http://192.168.5.125/slg/index.html
这是制作初始包的
layadcc .
这是更新包的
public void initEngine()
{
mProxy = new RuntimeProxy(this);
mPlugin = new GameEngine(this);
mPlugin.game_plugin_set_runtime_proxy(mProxy);
mPlugin.game_plugin_set_option(“localize”,“false”);
mPlugin.game_plugin_set_option(“gameUrl”, “http://192.168.5.125/slg/index.html”);
mPlugin.game_plugin_init(3);
View gameView = mPlugin.game_plugin_get_view();
this.setContentView(gameView);
isLoad=true;
}
改安卓代码

this.left = this.top = this.right = this.bottom = 0; 可以保持size和父容器尺寸一致

层级结构优化
在层级管理器中,组件图标前会有不同颜色的圆点。同样的颜色代表相同图集的节点,如果颜色值不同,如图3所示,则需要进行优化。

图3
(图3) 不同颜色的圆点交叉排列时,需要优化

优化的方式很简单,让同一层级下的相同颜色圆点排列在一起即可,这里有个小技巧需要注意一下,当拖到组件下,为一条直线时,是在同一层级改变顺序。如果在拖动组件的时候,显示是一个框,则会拖动到目标组件的子层级。另外,还可以通过快捷键来改变层级顺序,ctrl + 方向键向上为上移一个层级,ctrl+方向键向下为下移一个层级。

图4
(图4)

改变层级显示顺序后,圆点颜色相同时,才算达到优化的目标。如图5所示。

图5
15.
cacheAs技巧
对于经常变化的复杂UI,可以把UI分成两层,
较少变化的一层使用cacheAs,经常变化的层不使用。
例如有“倒计时”显示的UI,我们也可以把它分成倒计时部分和其他部分,其他部分进行cacheAs,倒计时部分不进行cacheAs。

图片
创建界面的时候可以 选中 创建逻辑类 他会自动帮你生成类 并且继承好ui类

### 回答1: Layabox玛丽医生小游戏是一个非常有趣的游戏,它的源代码由Layabox引擎提供。玩家需要扮演医生玛丽,通过完成一系列的任务治疗患者。 游戏的源代码主要分为不同的部分。首先是游戏的基础设置部分,包括游戏界面的布局、背景音乐的设置,以及一些游戏参数的初始化。其次是角色控制部分,包括医生玛丽的移动和操作,以及患者的生成和移动。这部分代码涉及到游戏中的碰撞检测和角色移动的逻辑。然后是游戏的任务和关卡部分,包括不同关卡的设置和任务的指引。最后是游戏的结束和得分计算部分,包括判断游戏是否胜利或失败,以及根据玩家的表现计算得分和显示排行榜。 游戏中的源代码通过Layabox引擎的API实现了各种游戏功能,如角色的移动、碰撞检测、音乐播放等。它使用了Layabox引擎提供的精灵(Sprite)和场景(Scene)等组件进行游戏的构建。此外,源代码也包括一些用于控制游戏逻辑和界面显示的脚本文件。 通过分析Layabox玛丽医生小游戏的源代码,可以学到很多关于游戏开发的知识和技巧。你可以了解到游戏的基本架构和各个模块之间的交互关系。同时,你也可以学习到Layabox引擎的使用方法和一些游戏开发中常用的技术,如碰撞检测、角色移动、音乐播放等。 ### 回答2: Layabox玛丽医生小游戏源代码是一个使用Layabox引擎开发的医生小游戏的源代码。这个游戏的主要任务是帮助玛丽医生治疗患病的小动物。 在游戏中,玩家可以扮演玛丽医生,通过点击、拖拽等操作来完成治疗任务。游戏界面简洁清晰,采用了可爱的卡通风格,给人一种轻松愉快的感觉。 游戏源代码主要包括游戏的逻辑部分和界面部分。逻辑部分包括游戏的流程控制、任务操作等内容。界面部分则包括游戏的场景、角色、动画等元素。 玩家在游戏中需要根据小动物的病情选择合适的治疗工具,并进行操作。例如,当小狗受伤时,玩家可以使用拖拽工具将药膏涂在伤口上,然后用绷带缠绕。在完成治疗后,玩家可以获得一定的奖励。 这个游戏源代码使用Layabox引擎进行开发Layabox引擎是一个基于HTML5的游戏引擎,可以用于开发跨平台的游戏。它具有高性能、易用性和丰富的功能特点。 总之,Layabox玛丽医生小游戏源代码是一个用Layabox引擎开发的医生小游戏,它通过简洁清晰的界面和有趣的玩法,带给玩家一种愉快轻松的游戏体验。 ### 回答3: LayaBox玛丽医生小游戏源代码是一种使用LayaBox引擎开发的小游戏源代码。玛丽医生是一款拥有医疗主题的益智游戏,旨在培养玩家的医疗常识和操作技能。 在游戏中,玩家扮演玛丽医生,需要处理来自不同患者的医疗问题。玩家需要根据患者的症状和需求,选择正确的治疗工具和药物进行操作。游戏中的患者多种多样,有感冒、发烧、骨折等不同的病情,玩家需要根据不同的情况给予正确的治疗措施。 在代码中,开发者会使用LayaBox引擎提供的各种功能和特性来实现游戏的各种功能。例如,使用引擎提供的场景管理器来创建游戏场景,使用精灵对象来表示游戏中的元素,如玛丽医生和患者角色,使用碰撞检测功能来判断治疗工具是否与患者接触,使用动画和音效来增强游戏体验等等。 此外,源代码还包括游戏的逻辑和处理部分。通过编写适当的游戏逻辑代码,开发者可以实现患者的生成和随机病情设置,以及玩家操作的响应和游戏结果的判断等功能。 总之,LayaBox玛丽医生小游戏源代码提供了一个可以直接使用和修改的游戏基础框架,开发者可以根据自己的需求进行二次开发和定制,使其更加符合个人或商业目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值