在游戏开发过程中遇到问题,请首先查阅:http://developer.egret.com/cn/github/egret-docs/Engine2D/minigame/minigameFAQ/index.html

1.忘记给可点击的游戏对象添加点击开关。

startBtn.touchEnabled=true;

2.button按钮的点击效果

(1)新建皮肤text

(2)点击源码,修改class为:“skins.皮肤文件名”

(3)将button拖至皮肤处

(4)点击设计中button按钮

(5)为button设置抬起,按下,禁用的图片资源名

(6)json中添加详细信息,前面一样的,只需改变exml文件名。

(7)代码中使用button。" "中的内容为(6)中添加的内容。

3删除一个对象

执行删除操作时,“显示对象”必须拥有父级。换句话说,被删除的显示对象必须存在于容器对象当中。

避免这种问题的处理方法是:每次removeChild之前,对即将要被删除的显示对象做一次判断,判断它是否拥有父级。判断的代码如下:

if( spr.parent ) {
spr.parent.removeChild( spr );
}

4.点击一次按钮响应多次点击事件

这是博主最近在公司做成就系统模块碰到的bug,改了一晚上,通过各种调试知道错误的原因,但是还是没发现根源,询问大佬后才恍然大悟,下面先介绍下bug

点击成就按钮进入成就系统,成就系统里面有两个可以翻页的按钮,分别定义为lastBtn,nextBtn。第一次进入游戏一切正常。

第二次进入游戏点击nexBtn会发现变成了第三个成就(默认成就系统每次打开是第一个成就),再点击一次nextBtn,显示第5个成就。

主要代码如下:

问了各种大佬之后被告知,lastBtn,nextBtn每次添加监听事件之前没有移除之前的监听事件。,于是改代码如下:

总结:给按钮添加了监听事件一定要记得移除。

5.打开排行榜IOS闪烁

ios打开排行榜,数据刷新,导致屏幕闪烁,解决办法:将开放数据域与主域中帧率调高至60(但是调高有一个影响是,耗电)。

6.好友排行榜无法关闭问题

(前提:世界排行写在主域,好友排行再子域)在代码中的逻辑:打开世界排行榜时首先关闭好友排行榜,再显示世界排行榜;打开好友排行榜时首先关闭世界排行榜,再显示好友排行榜。这样的逻辑看上去时完全正确的,但是存在一个很大的隐患,如果你多次连续点击好友列表,那么你回打开多个好友列表,当你再次打开世界排行时你回发先好友排行显示再世界排行里面了。

主要代码如下:

显示效果:

那么我们如何处理这个问题呢,其实很简单,我们只需要在打开某个排行榜时先判断该排行榜是否已经显示,修改后的代码如下:

7.数组报空

有时候,游戏过程中我们可能会经常需要进行清空数组,赋值,清空,赋值。。。操作,你明明在声明数组的时候已经初始化了,但是在清空之后赋值会报如下错误:

这个错误我不知道是怎么引起的,但是经过询问各路大神,我最终解决了,解决办法就是:避免在声明是赋值

Egret白鹭开发小游戏中容易犯的错的更多相关文章

  1. Egret白鹭开发小游戏之自定义load加载界面

    刚接触不久就遇到困难------自定义loading.想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成 ...

  2. Egret白鹭H5小游戏开发入门(二)

    前言: 昨天的文章中简单的介绍了Egret白鹭引擎从安装到基本的使用配置等问题,今天着重介绍H5小游戏开发的起步阶段,如Wing面板的使用,素材的处理,类的说明,开始布局等等. 整体概况: 根据上一篇 ...

  3. Egret白鹭H5小游戏开发入门(三)

    前言: 在上一篇文章中着重介绍了H5小游戏开发的起步阶段,如Wing面板的使用,素材的处理,类的说明等等,那么今天主要是涉及到场景的创建,loading的修改等等的代码编写. 对于这一节,我在讲解的过 ...

  4. Egret白鹭H5小游戏开发入门(一)

    前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJS,玩得了Egret,又学过PIXI.js. ...

  5. Egret白鹭开发微信小游戏排行榜功能

    推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 最近事情特别多,今天终于实现了排行榜功能,记录下来大家一起学习学习. 一.调用默认排行榜 首先我们需要了解: 1.白鹭开 ...

  6. Egret白鹭开发微信小游戏分享功能

    今天给大家分享一下微信分享转发功能,话不多说,直接干 方法一: 1.在egret中打开Platfrom.ts文件,添加代码如下(当然,你也可以直接复制粘贴) /** * 平台数据接口. * 由于每款游 ...

  7. Egret白鹭开发微信小游戏程序跳转功能(由一个小游戏跳转到另一个小游戏)

    假设我们要实现的功能是从小游戏A跳转到小游戏B 对于小游戏A: (1)在platform.ts中添加代码如下: /** * 平台数据接口. * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一 ...

  8. egret引擎中使用tiled运行在微信小游戏中

    egret的官方文档,对tiled的介绍不是很细致,很多东西都需要摸索.现在把踩的坑记录下来.作为一个备忘 引用tiledmap的库 在GitHub上下载egret的tiledmap支持库:https ...

  9. Java开发小游戏 用键盘控制精灵在游戏中上下左右跑动 窗体小游戏可打包下载,解压后双击start运行

    package com.swift; import java.awt.Point; import java.awt.event.KeyEvent; import com.rupeng.game.Gam ...

随机推荐

  1. 【Java高级】(一)JVM

    5.2.1.在Java中如何判断对象已死? 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能被使用的 ...

  2. 《VR入门系列教程》之12---转换矩阵

    转换矩阵     模型网格的三维空间位置都是由它们的顶点坐标决定的,如果每次想要移动一下模型位置都要依次改变每个网格的顶点坐标,这将一件非常头疼的事,要是遇上需要显示动画效果那就更糟了.为了解决这个问 ...

  3. Spring IoC源码探索(一)

    一.探索前:谈谈我对IoC容器的了解 IoC容器主要用于管理Bean的生命周期和对象间的关系,通过依赖注入(DI)对容器中的Bean所需要依赖的其他对象进行注入.而这一切都是在Ioc容器里边进行的,假 ...

  4. 算法-一步步教你如何用c语言实现堆排序(非递归)

    看了左神的堆排序,觉得思路很清晰,比常见的递归的堆排序要更容易理解,所以自己整理了一下笔记,带大家一步步实现堆排序算法 首先介绍什么是大根堆:每一个子树的最大值都是子树的头结点,即根结点是所有结点的最 ...

  5. Java面向对象16种原则

    一   类的设计原则   1 依赖倒置原则-Dependency Inversion Principle (DIP) 2 里氏替换原则-Liskov Substitution Principle (L ...

  6. 2019前端面试系列——Vue面试题

    Vue 双向绑定原理        mvvm 双向绑定,采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter.getter,在数 ...

  7. EF Core的Code First 基础

    一.创建实体类与映射类 通过NuGet引用Microsoft.EntityFrameworkCore 1.创建实体类 Code First可以通过为实体类字段添加相应特性,来创建对应的字段类型等,举例 ...

  8. 【iOS】PLA 3.3.12

    发件人 Apple Program License Agreement PLA We found that your app uses the Advertising Identifier but d ...

  9. ubuntu 13.10 eclipse 菜单栏不可用的问题

    最近手贱,从官网上下载了最新的版eclipse,把一原来的3.8版本替换了,然后就发现eclipse菜单栏废了,吓我一跳,以为Ubuntu又初问题,又重新弄了一次eclipse(我直接用的压缩包),上 ...

  10. 自定义SWT控件二之自定义多选下拉框

    2.自定义下拉多选框 package com.view.control.select; import java.util.ArrayList; import java.util.HashMap; im ...