CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本

前面简单的实现了主界面的UI设置,现在我们开始制作游戏的控制脚本。

在资源管理器的Script文件夹中,点击右键新建javascript文件,命名为GAME。

双击打开GAME脚本,在properties: 中添加属性代码。

01

//GAME.js

02

03

cc.Class({

04

extends: cc.Component,

05

properties: {

06

07

// player 节点,用于获取主角弹跳的高度,和控制主角行动开关

08

player: {

09

default:null,

10

type: cc.Node

11

},

12

// bgsprite1 节点,用于背景移动

13

bgsprite1: {

14

default:null,

15

type: cc.Node

16

},

17

// bgsprite2 节点,用于背景移动

18

bgsprite2: {

19

default:null,

20

type: cc.Node

21

},

22

// score label 的引用

23

scoreDisplay: {

24

default:null,

25

type: cc.Label

26

},

27

},

保存好后,我们双击MainScene打开场景,点击Canvas,在右侧的属性检查器最底部,点击[添加组件]=》[添加用户脚本组件]然后选择我们刚刚创建的脚本GAME.js。

添加好后就可以在属性检查器看到我们的属性组件来,然后我们把场景里的节点拖进对应的属性框即可实现节点绑定。不懂得可以多看看官方文档。

这样我门就可以在GAME脚本里来操作节点了。

二、创建HeroPlayer脚本用来操作玩家主角

01

//HeroPlayer.js

02

03

cc.Class({

04

extends: cc.Component,

05

properties: {

06

//主角跳跃高度

07

jumpHeight:0,

08

//主角跳跃持续时间

09

jumpTimes:0,

10

//掉落速度

11

maxMoveSpeed:0,

12

},

13

//跳跃

14

setJumpUpAction:function(){

15

// 跳跃上升

16

var jumpUp = cc.moveBy(this.jumpTimes, cc.p(0,this.jumpHeight));

17

//jumpUp.reverse();

18

return jumpUp;

19

},

20

//掉落

21

setJumpDownAction:function(){

22

//下落

23

var jumpDown = cc.moveBy(this.jumpTimes, cc.p(0, -this.maxMoveSpeed));

24

return jumpDown;

25

},

26

setJumpRunAction:function(){

27

// 初始化跳跃动作

28

this.jumpAction =this.setJumpUpAction();

29

//掉落动作

30

this.maxMoveSpeed =this.setJumpDownAction();

31

//包装动作

32

var seq = cc.sequence(this.jumpAction,this.maxMoveSpeed);

33

this.node.runAction(seq);

34

},

35

//玩家不操作时,角色进行下坠

36

heroDownMove:function(){

37

//下落

38

var heroDown = cc.moveBy(0.8, cc.p(0, -5));

39

return heroDown;

40

},

41

// use this for initialization

42

onLoad:function () {

43

44

this.setJumpRunAction();

45

46

},

47

48

// called every frame, uncomment this function to activate update callback

49

update:function (dt) {

50

this.node.runAction(this.heroDownMove());//精灵移动

51

}

52

53

54

});

角色有2种状态,一种是玩家点击屏幕会实现角色的跳跃,第二种就是角色会受到引力会自动下落。我们在update来实现自动下落。添加好方法后,我门在层级管理器中点击hero节点。然后在右侧属性检查器中绑定脚本。

我门可以在里面初始化值。跳跃高度值,跳跃持续时间,掉落速度等。

脚本里主要实现了跳跃动作,掉落动作等。

然后回到我们的游戏主脚本也就是GAME脚本。添加触摸事件监听,实现监听触摸来调用主角的跳跃动作。

首先在顶部添加脚本引用,然后创建事件监听的方法。

01

//GAME.js

02

var HeroPlayer = require("HeroPlayer");

03

//-----

04

//事件监听

05

setEventControl: function(){

06

var self =this;

07

var hero = self.player.getComponent(HeroPlayer);//角色绑定控件

08

09

cc.eventManager.addListener({

10

event: cc.EventListener.TOUCH_ONE_BY_ONE,

11

swallowTouches:true,

12

// 设置是否吞没事件,在 onTouchBegan 方法返回 true 时吞没

13

onTouchBegan: function (touch, event) {

14

//实现 onTouchBegan 事件回调函数

15

var target = event.getCurrentTarget();

16

// 获取事件所绑定的 target

17

18

var locationInNode = target.convertToNodeSpace(touch.getLocation());

19

cc.log("当前点击坐标"+locationInNode);

20

21

hero.node.runAction(hero.setJumpUpAction());//精灵移动

22

//cc.log("跳跃:--------");

23

24

25

26

return true;

27

},

28

onTouchMoved: function (touch, event) {// 触摸移动时触发

29

30

},

31

onTouchEnded: function (touch, event) {// 点击事件结束处理

32

33

//  cc.log("跳跃后角色坐标:" + self.player.getPosition() );

34

}

35

36

}, self.node)

37

},

然后在onload方法实现初始化调用。

1

onLoad: function () {

2

//触摸监听

3

this.setEventControl();

4

// 初始化计分

5

this.score = 0;

6

7

},

我们可以来运行下,看下效果。

creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...相关推荐

  1. creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》七、制作游戏结束场景并实现场景切换...

    CocosCreator零基础制作游戏<极限跳跃>七.制作游戏结束场景并实现场景切换 前面我们实现了游戏的碰撞检测,碰到障碍物我们的角色就会死掉并开始掉落,角色掉落到屏幕底部时候游戏结束, ...

  2. creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》八、添加游戏积分系统...

    CocosCreator零基础制作游戏<极限跳跃>八.添加游戏积分系统 前面我们实现了整个游戏的流程,下面我们来完善游戏的积分系统..先来分析下游戏的积分,第一次展示积分的地方就是我们的游 ...

  3. creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》一、游戏分析

    CocosCreator零基础制作游戏<极限跳跃>一.游戏分析 无意中发现了小游戏<极限跳跃>感觉挺有意思的,正好这段时间和朋友讨论准备用js还是unity做小游戏,初定用js ...

  4. python和cc哪个适合做游戏的背景音乐_(转)CocosCreator零基础制作游戏《极限跳跃》九、为游戏添加声音音效功能...

    CocosCreator零基础制作游戏<极限跳跃>九.为游戏添加声音音效功能 游戏的声音很重要,我们在这个游戏中需要加2个音效,一个背景音乐...第一个音效在玩家与障碍物碰撞的地方加碰撞音 ...

  5. CocosCreator零基础制作游戏《极限跳跃》

    转载闭眼就天黑专栏_个人博客_技术源于分享.一个完整的小游戏教程适合小白入手 一.思维导图 二.制作登录场景 首先,打开CocosCreator,新建HelloWorld项目.选择项目路径,输入项目名 ...

  6. (转)CocosCreator零基础制作游戏《极限跳跃》六、制作游戏障碍物实现碰撞检测...

    CocosCreator零基础制作游戏<极限跳跃>六.制作游戏障碍物实现碰撞检测 前面我们实现了背景和主角的操作,下面我们开始添加游戏的障碍物以及碰撞检测的功能. 一.制作障碍物Prefa ...

  7. (转)CocosCreator零基础制作游戏《极限跳跃》二、制作游戏开始场景

    CocosCreator零基础制作游戏<极限跳跃>二.制作游戏开始场景 我们刚刚分析了<极限跳跃>这款游戏,下面我们开始制作第一个游戏场景,也就是游戏的开始场景. 首先,打开C ...

  8. CocosCreator零基础制作游戏《极限跳跃》二、制作游戏开始场景

    转自:http://www.byjth.com/CocosCreator/67.html CocosCreator零基础制作游戏<极限跳跃>二.制作游戏开始场景 我们刚刚分析了<极限 ...

  9. 如何零基础制作一款自己的游戏!(一)

    如何零基础制作一款游戏(一) 文章目录 如何零基础制作一款游戏(一) 前言 一.软件下载以及创建工程 二.使用步骤 1.进入工程 2.设置更改 3.更改界面 4.脚本更改 5.下载插件 6.如何设置障 ...

最新文章

  1. cocos2d-x 2.0启用HD高清图片支持
  2. 零基础也可以实现“机器同传翻译”!
  3. objective-c(初始化)
  4. Oracle数据库修改用户密码
  5. 2019年上半年计算机水平,2019年上半年全国计算机等级考试通过秘诀分享
  6. 计算机图学图形裁剪,计算机图形学——裁剪
  7. LAMP兄弟连ThinkPHP笔记
  8. 《Machine Learning in Action》—— 女同学问Taoye,KNN应该怎么玩才能通关
  9. Talk预告 | 上海交通大学计算机系博士生李杰锋方浩树:多人场景,全身136关键点检测与跟踪框架AlphaPose技术讲解
  10. android设置头像同时设置模糊背景
  11. 关于QQ号的分发管理机制的基本方案的设计猜想和分析讨论
  12. 用友投资一亿现金成立医疗软件公司
  13. 2015年 android 白皮书
  14. SSL证书过期后怎么办?
  15. python 删除excel空行_Java 删除 Excel 中的空白行和列
  16. 新买的电脑,自带最新版的office家庭和学生版,激活教程
  17. 什么是EISA分区,如何删除
  18. 浅谈 React Fiber
  19. 考研高数背诵类知识点-张宇(不定期更新)
  20. STK 与Matlab 的连接

热门文章

  1. AppSettings和ConnectionStrings的区别
  2. ios给系统添加分类管理属性
  3. C#语言连接Mysql数据库实现增删改查
  4. centos7开启tcp6_Centos7下配置IPV6
  5. python 文本相似度计算函数_四种计算文本相似度的方法对比
  6. php怎么做免登录,php---一周内免登录
  7. HBase 在人工智能场景的使用
  8. [六省联考2017]组合数问题
  9. WAF指纹识别和XSS过滤器绕过技巧
  10. 队列的其本应用_迷官问题