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  

返回:

类型: ActionInterval

示例:

// 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  

返回:

类型: ActionInterval

示例:

// example
var actionBy = cc.jumpBy(2, cc.p(300, 0), 50, 4);
var actionBy = cc.jumpBy(2, 300, 0, 50, 4);
时间: 2024-10-02 20:52:55

cocos creater 简单的跳跃动作。的相关文章

cocos2d-JS (二)Cocos Creater

我觉得我们开发使用最新的工具.这对于我们非常有帮助. 由于新的工具有着新的功能,简化了我们开发的模式. 站在巨人的肩膀上~~~~~~~~~~~~~ CocosCreator.最大的两个特点   组件化 数据驱动 使用这款这款工具之后,最大的感受是.开发起来以后会越来越轻松,所以建议 没有C++基础的同学.想要高速开发游戏的同学,能够常使用Cocos Creater 闲话少说.让我们愉快的開始吧~~~~~~~ watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ

JSP简单练习-JSP动作指令

JSP动作指令在JSP程序设计中经常会用到,与JSP指令不同,它将影响JSP运行是的功能! 1.include动作指令: include动作指令用来在JSP页面中动态包含一个文件,这样包含页面程序与被包含页面的程序是彼此独立的,互不影响.JSP的include动作指令可包含一个动态文件也可以包含一个静态文件.如果包含的是一个静态文件(如一个文本文件),就直接输出给客户端,由客户端的浏览器负责显示,如果包含的是一个动态文件,则由服务器的JSP引擎负责执行,再把运行结果返回给客户端显示出来. 注意:

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

我认为我们开发使用最新的工具,这对于我们很有帮助. 因为新的工具有着新的功能,简化了我们开发的模式. 站在巨人的肩膀上~~~~~~~~~~~~~ CocosCreator,最大的两个特点   组件化 数据驱动 使用这款这款工具之后,最大的感受是,开发起来以后会越来越轻松,所以建议 没有C++基础的同学,想要快速开发游戏的同学,可以常使用Cocos Creater 闲话少说,让我们愉快的开始吧~~~~~~~ 1.CocosCreator   下载及安装 http://www.cocos2d-x.o

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

一.编辑器介绍 1)资源管理器:显示了项目资源文件夹(assets)中的所有资源.这里会以树状结构显示文件夹并自动同步在操作系统中对项目资源文件夹内容的修改.您可以将文件从项目外面直接拖拽进来,或使用菜单导入资源. PS:项目中所有用到的资源都在其中,我们的script脚本也在里面 2)场景编辑器:用来展示和编辑场景中可视内容的工作区域.所见即所得的场景搭建工作都依靠场景编辑器中的显示来完成 PS:游戏就是一个场景到另一个场景,很重要的一个概念~ 3)层级管理器:树状列表的形式展示场景中的所有节

Android利用RecognizerIntent识别语音并简单实现打电话动作

关于Android利用RecognizerIntent识别语音并简单实现打电话,详细看实现代码例如以下: package com.example.recognizerintentactivity; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import androi

【Cocos学习】Lua——动画动作、场景切换的基本应用

Cocox在动画这方面做的很好,果然很适合做游戏,我先研究了下以下几点的应用, 1.动作的平移旋转.缩放.串行和并行 local people=display.newSprite("gamepic.png"):addTo(self):scale(0.5) people:setPosition(cc.p(0,100)) people:setAnchorPoint(cc.p(0,0)) -- people:runAction(cc.MoveTo:create(1,cc.p(display.

COCOS学习笔记--变速动作Speed和ActionEase

变速动作和复合动作类似.也是一种特殊的动作,它能够把不论什么动作依照改变后的速度运行.变速动作与复合动作最大的差别就是复合动作仅仅是单纯的组合一系列动作,而变速的做在组合一系列动作后还要去改变动作的运行速度. 变速动作主要分为2大类:Speed和ActionEase. 一.Speed 用于线性地改变某个动作的速度,也就是说成倍数的改变某动作的总体速度. Speed相当于一个包装器,将须要改变速度的动作包装到当中. Speed类源代码能够在CCAction类中看到: class CC_DLL Sp

Unity3D 5.0简单的实现跳跃功能

这里是一个简单的跳跃,5.0和其他版本貌似不一样,并且,再起跳功能做的不完全. 不过一个基本的思路在这里. 首先,射线检测,这里是利用一个空对象,放到目前对象的下面 然后,在绑定主角的脚本文件上开始写脚本: using UnityEngine; using System.Collections; public class move : MonoBehaviour { // Use this for initialization private bool grounded = false; pri

如何做好游戏中的攻击动作-进阶教程

转自:http://www.gamelook.com.cn/2015/05/214071 GameLook报道/ 之前GameLook发布的<简单做好游戏中“攻击动作”的3个窍门>一文受到不少同学的欢迎,今天我们在上一篇文章的基础上对游戏中人物角色攻击动作的本质——身体运动的原理进行介绍,希望对大家今后的开发工作能够有所帮助. 今天我们从关节和骨骼肌的运动.作用与反作用法则.反作用动作.旋转速度的控制.运动连锁原则,这5个方面来详细介绍人物角色攻击动作制作中的注意点. 原文来自万代南梦宫工作室