码迷,mamicode.com
首页 > 其他好文 > 详细

cocos creater 简单的跳跃动作。

时间:2017-01-09 10:01:16      阅读:486      评论:0      收藏:0      [点我收藏+]

标签:api   游戏   函数   ram   param   ros   添加   方式   函数实现   

因为最近一段时间有打算做一个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 简单的跳跃动作。

标签:api   游戏   函数   ram   param   ros   添加   方式   函数实现   

原文地址:http://www.cnblogs.com/tohoproject/p/6264079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!