cocos creater 简单的跳跃动作。

Posted 写程序就像吸毒,一旦上瘾就很难戒掉。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos creater 简单的跳跃动作。相关的知识,希望对你有一定的参考价值。

因为最近一段时间有打算做一个2D游戏的想法,就顺便学习了一下cocos,很惊异的它的脚本编写语言竟然支持js,正好以前对js有一定的了解,就临时拿起来了。

这是来自官方的一个实例,不过在参考过程中,发现这个函数并不是使用跳跃函数而是使用移动函数实现,就顺便记录下来了。

因为只是实现跳跃动作,所以只是简单的截取了实现跳跃的部分代码段。

cc.Class({
extends: cc.Component,

properties: {
// 主角跳跃高度
jumpHeight: 0,
// 主角跳跃持续时间
jumpDuration: 0,
//主角加速度
accel: 0,
},

onLoad: function () {
//初始化跳跃动作
this.jumpAction = this.setJumpAction();

//跳跃

this.accJump = false;

// 初始化键盘输入监听
this.setInputControl();

},

setInputControl: function () {
var self = this;
// 添加键盘事件监听
cc.eventManager.addListener({
event: cc.EventListener.KEYBOARD,
// 有按键按下时,判断是否是我们指定的方向控制键,并设置向对应方向速度
onKeyPressed: function(keyCode, event) {

switch(keyCode) {

case cc.KEY.j:
self.accJump = true;
break;
}

},

setJumpAction: function () {
// 跳跃上升
var jumpUp = cc.moveBy(this.jumpDuration, cc.p(0, this.jumpHeight)).easing(cc.easeCubicActionOut());
// 下落
var jumpDown = cc.moveBy(this.jumpDuration, cc.p(0, -this.jumpHeight)).easing(cc.easeCubicActionIn());
// 跳跃
return cc.sequence(jumpUp, jumpDown)
},

update: function (dt) {
// 根据当前速度更新主角的位置
if(this.accJump){
this.accJump = false;
this.node.runAction(this.jumpAction);
}
},

})

上面是一个简单的实例,因为是手打的可能有标点符号的问题。

上边的跳跃实现是用移动Y轴的两个点实现的,使用的moveby函数,而非jumpby,

大概因为惯性思维的缘故,一想到跳跃,就想当然的去用jumpby。

毕竟是新手的缘故,还有许多需要了解的地方。

顺便贴上官方文档中moveby跟jumpby的解释:

moveBy 

  • duration 
  •  
  • deltaPos 
  •  
  • deltaY 

 ActionInterval

 

移动指定的距离。

名称类型描述
duration Number

duration in seconds

deltaPos Vec2 | Number  
deltaY Number  

返回:

示例:

// example
var actionTo = cc.moveBy(2, cc.p(windowSize.width - 40, windowSize.height - 40));

jumpBy 

  • duration 
  •  
  • position 
  •  
  • [y ] 
  •  
  • height 
  •  
  • jumps 

 ActionInterval

 

用跳跃的方式移动指定的距离。

名称类型描述
duration Number  
position Vec2 | Number  
y optional Number  
height Number  
jumps Number  

返回:

示例:

// example
var actionBy = cc.jumpBy(2, cc.p(300, 0), 50, 4);
var actionBy = cc.jumpBy(2, 300, 0, 50, 4);

以上是关于cocos creater 简单的跳跃动作。的主要内容,如果未能解决你的问题,请参考以下文章

cocos2d-JS Cocos Creater

cocos2d-JS 第三炮Helloworld及Cocos Creater简介(宝贵的经验!)

cocos creater 鸿蒙 音频卡死 播放失败 不回调

cocos2d-JS 第二炮Cocos Creater(使用当下最新的编辑器,带你ZB装带你fly)

cocos creator利用力或冲量来改变刚体位置

cocos2d-x学习之路——精灵与动作