内容纲要
  1. 此游戏模仿4399小游戏黑白小人大冒险制作,我做了5关!
  2. 使用截屏软件截图,然后用PS抠图,背景透明。
  3. 人物的移动:我的人物不需要加速度所以很简单就可以完成:
    if (this.dir == 1) {
          this.node.x -= this.speed * dt;
            } 
    else if (this.dir == 2) {
          this.node.x += this.speed * dt;
        }
  1. 人物的跳跃:运用刚体组件的线性速度完成:防止角色进行多段跳,加了个判定:当线性速度为0时,才能再次跳跃:
    this.rigidBody = this.getComponent(cc.RigidBody);
    this.rigidBody.linearVelocity = cc.v2(0, 650);
    if (this.rigidBody.linearVelocity.y == 0) {
        this.jump();
       }
  1. 物理组件,人物的移动以及进入下一关的星星,都是用的物理组件完成的:黑色只可以站在黑色的物体上,白色只能站在白色的物体上,灰色的物体两种颜色都不可以站在上面,背景,障碍的颜色变换,使用单色图片去改变颜色完成的:
    this.star.color = cc.color(255, 255, 255);
    this.bg.color = cc.color(51, 51, 51);
    this.obs1.color = cc.color(85, 85, 85);
    this.obs2.color = cc.color(85, 85, 85);
  1. 改变障碍的状态,当任务为白色是只能站在白色物体上,原本想使用sensor写的,可是不行,具体原因我也不清楚,想要实现效果,通过改变active可以实现:false的情况下就不可以站立,重新改成true就可以站立
this.obs1.getComponent(cc.RigidBody).active = false;
  1. 播放的背景音乐,音效使用方法:
cc.audioEngine.playEffect(this.nextAudio, false);
cc.audioEngine.playMusic(this.bgmAudio, false);
  1. 退出游戏:
cc.game.end();
  1. 加载场景:
cc.director.loadScene('start');
  1. 播放动画,首先用动画编辑器编辑,然后在js中去完成动画的使用:
var playState = this.getComponent(cc.Animation);
  1. 总结:这个游戏难度不大,基本用的上课讲的知识
  2. 代码GITHub:https://github.com/hjn7458251/wegame

发表评论