Egret社区
5银子
因为想加道具效果,而且要求道具不能单独运动,这样随机的话道具出现的次数有点多,还想增加关卡和难度,是否能提供代码或者逻辑,请各位指教!

分享到 :
0 人收藏

8 个回复

倒序浏览
heirelance  登堂入室 | 2018-12-29 08:53:09
随机的话道具出现的次数有点多?道具出现条件:Math.random()>0.999999&&items.length<某个值(这里的0.999999可以是一个函数)
想增加关卡和难度?写一个随着关卡数,增加敌人数量和发射速度的函数不就行了?
Lychee  登堂入室 | 2018-12-29 11:53:09
heirelance 发表于 2018-12-29 08:53
随机的话道具出现的次数有点多?道具出现条件:Math.random()>0.999999&&items.length ...

想做一个竖版跑酷类的游戏,在仿着飞机大战来写,随机障碍物的时候没有什么好的想法,我看别人的游戏障碍物有时同时出两个,先后出来的障碍物距离也不一定,这种是怎么做出来的?
271117545  登堂入室 | 2018-12-29 12:55:23
老弟
private timer = new egret.Timer(1)
//固定值
private a=10;

this.timer.addEventListener(egret.TimerEvent.TIMER,function ss(){
if(this.a%速度值==0){
    生成敌机
}
同理
if(this.a%速度值==){
    敌机生成子弹
    //英雄机生成子弹等
}
速度值++;
},this)
271117545  登堂入室 | 2018-12-29 13:07:58
你说的距离应该是敌机随机在X轴生成:
let a = Math.floor(Math.random*this.width);
生成敌机看起来比较自然可以:
this.diji.y = -this.diji.height;
之后可以优化一下不让飞机超出右边屏幕:
if((this.diji.width+a)>this.width){
       this.diji.x=this.width-this.diji.width;
}
Lychee  登堂入室 | 2018-12-29 13:27:57
271117545 发表于 2018-12-29 13:07
你说的距离应该是敌机随机在X轴生成:
let a = Math.floor(Math.random*this.width);
生成敌机看起来比较自 ...

其实我是想做一个竖版跑酷的简单的小游戏,我是新手在学习egret,我在仿着飞机大战来写,比如一个游戏分四个跑道,敌人会从四个跑道随机出现,我看到别人的游戏出现的敌人有的时候同时出现两个,有的时候是一个,但是绝对不会同一y轴有四个,两批出现的敌人之间的距离也是有长有短,不知道这样的随机是什么思路
271117545  登堂入室 | 2018-12-29 17:15:09
Lychee 发表于 2018-12-29 13:27
其实我是想做一个竖版跑酷的简单的小游戏,我是新手在学习egret,我在仿着飞机大战来写,比如一个游戏分 ...

我思路已经给你了,你可以效仿我说的这种做,多看看API多思考,我刚开始的时候也是这样过来的。
271117545  登堂入室 | 2018-12-29 17:17:57
Lychee 发表于 2018-12-29 13:27
其实我是想做一个竖版跑酷的简单的小游戏,我是新手在学习egret,我在仿着飞机大战来写,比如一个游戏分 ...

你说的四个跑道出现,只是定义四个跑道生成敌人的X和Y,Math.random()*4随机出现在每个跑道上,至于不会出现多少个 ,或者不超过四个敌人,只是一个if的限制。
Lychee  登堂入室 | 2018-12-29 17:38:31
271117545 发表于 2018-12-29 17:17
你说的四个跑道出现,只是定义四个跑道生成敌人的X和Y,Math.random()*4随机出现在每个跑道上,至于不会 ...

大概有点想法,只是觉得if限制的话可能条件有点多,所以才来问大神有没有什么更好的方案,多谢多谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部