Egret社区

我接触Egret已经两个月了,这也是我第一次接触游戏开发,积累了很多问题想请教各位大大。
我做的是一款横板卷轴游戏,类似魂斗罗那种,我用的是谷歌浏览器。

1、背景图是一张可前后拼接的图,于是我在一个容器中拼接了两张图片,来做循环。
我尝试了用 TweenMax.fromTo 动画去做容器的移动效果,也尝试了直接改变背景容器x属性的方式来移动背景。
但是不论哪种,在移动过程中,如果频繁点击攻击按钮,就会卡,移动的同时打开设置面板,也会卡,
不知道怎么优化这个问题呢?

2、按照百度的答案,我已经将  egret.runEgret({ renderMode: "webgl", audioType: 2 设置为这样,但是这个方法
有时候会失灵,有时候进入游戏会自动播放音乐,有时候不会。是代码的问题吗?

3、技能按钮CD特效只能用遮罩和弧形绘制来做吗?用 TweenMax 可以做到吗?虽然我做出来了,但是我用 Timer
做的,技能冷却时间是通过 delay * repeatCount / 1000 即频率 * 调用次数 / 1000 来计算的,但我担心这个计算会在
性能受限时不能准确执行。

4、对于第三点,其实我有两个想问的,第一个是一定要要遮罩来做吗?听说遮罩很吃性能。第二个就是这么确保
CD的时间,因为这对于我的游戏很重要。

5、5.2.5 引擎的DragonBones升级了,我用的 MVC 框架中的DragonBones已经过时了,开始报错,我尝试找了
新版 DragonBones 的api,但是一直没找到,谁可以提供一份呢?

问题很多,但大部分是常见的问题,大家可以选择自己瞧得上的问题,对于觉得很蠢的问题可以忽略。
分享到 :
0 人收藏

12 个回复

倒序浏览
bobomico  圆转纯熟 | 2020-6-15 17:15:32
没有人吗。
bobomico  圆转纯熟 | 2020-6-16 17:12:12
好吧。
Hjx  渐入佳境 | 2020-6-16 18:32:19
1.移动卡顿是指图片卡顿还是?背景移动别用tween试下,直接用定时器移动然后循环
2. egret.runEgret这个是启动代码 不会影响卡顿。
3.遮罩确实会影响性能,但是在浏览器性能应该没啥问题 ,我感觉是你些的代码问题。  龙骨动画你可以看看新的api,可能是之前旧的废弃了
heiye2046  登堂入室 | 2020-6-17 09:38:59

1.就两张图片,一个攻击按钮,频繁点击就卡顿了?
3.记录一个base值,上一次触发的时间和本次触发的时间间隔做计算
bobomico  圆转纯熟 | 2020-6-17 13:14:41
Hjx 发表于 2020-6-16 18:32
1.移动卡顿是指图片卡顿还是?背景移动别用tween试下,直接用定时器移动然后循环
2. egret.runEgret这个是 ...

第二点不是说卡的问题,是说音效系统自动播放,有时候有效,有时候失效,在谷歌浏览器上是这样。另外我找不到龙骨动画新的api啊,所以才来求啊。
dcf  登堂入室 | 2020-6-17 16:04:56
帧率多少,根据帧来移动就会丝滑的,单机游戏吗,获取系统时间计时即可,联网的应该要获取服务器的时间戳计时
vpeeee  登堂入室 | 2020-6-24 15:04:02
谷歌浏览器是禁止自动播放音乐的, 需要你先点击屏幕
一只小菜鸡  登堂入室 | 2020-6-24 17:37:43
5. 之前写过一个,有点乱,筛选一下重要的         前三条分别是 龙骨,图集文件,图集
        var dragonbonesData = RES.getRes( "Ubbie_ske_json" );  
        var textureData = RES.getRes( "Ubbie_tex_json" );  
        var texture = RES.getRes( "Ubbie_tex_png" );
        //龙骨工厂 ,现在可以直接使用,已经实体化好了实体化
        let dragonBonesFactory:dragonBones.EgretFactory = dragonBones.EgretFactory.factory;
        //初始化龙骨
        dragonBonesFactory.addDragonBonesData(dragonBonesFactory.parseDragonBonesData(dragonbonesData));
        //初始化图集
        dragonBonesFactory.addTextureAtlasData(dragonBonesFactory.parseTextureAtlasData(textureData,texture));
        //获取
        let dragonDisplay:dragonBones.EgretArmatureDisplay = dragonBonesFactory.buildArmatureDisplay("ubbie");
        //显示
        this.addChild(dragonDisplay);
bobomico  圆转纯熟 | 2020-6-25 11:36:41
vpeeee 发表于 2020-6-24 15:04
谷歌浏览器是禁止自动播放音乐的, 需要你先点击屏幕

我知道,所以才想寻求个解决办法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部