4.3.1 位置变化动作

2023-11-08

4.3.1 位置变化动作

2013-05-21 10:12 火烈鸟网络科技 人民邮电出版社  我要评论(0) 字号: T |  T

《Cocos2d-x高级开发教程》第4章动作,在这一章中,我们将为大家详细介绍各种动作的使用方法。读完本章后,读者将会学到《捕鱼达人》游戏中的基本动作机制:鱼的各种游动动作、炮弹的发射动作、渔网的展开动作,以及金币的收集等各种其他动作效果。本节为大家介绍位置变化动作。

AD:2013云计算架构师峰会超低价抢票中

4.3.1 位置变化动作

针对位置(position)这一属性,引擎为我们提供了3种位置变化动作类型,下面将简要介绍这几种动作。

CCMoveTo和CCMoveBy:用于使节点做直线运动。设置了动作时间和终点位置后,节点就会在规定时间内,从当前位置直线移动到设置的终点位置。它们的初始化方法分别为:

   
   
  1. CCMoveTo::create(ccTime duration, CCPoint& pos);  
  2. CCMoveBy::create(ccTime duration, CCPoint& pos); 

其中,duration参数表示动作持续的时间,pos参数表示移动的终点或距离。对于CCMoveTo,节点会被移动到pos对应的位置;对于CCMoveBy,节点会相对之前的位置移动pos的距离。

CCJumpTo和CCJumpBy:使节点以一定的轨迹跳跃到指定位置。它们的初始化方法如下:

   
   
  1. CCJumpTo::create(ccTime duration, CCPoint pos, float height, int jumps);  
  2. CCJumpBy::create(ccTime duration, CCPoint pos, float height, int jumps); 

其中pos表示跳跃的终点或距离,height表示最大高度,jumps表示跳跃次数。

CCBezierTo和CCBezierBy:使节点进行曲线运动,运动的轨迹由贝塞尔曲线描述。贝塞尔曲线是描述任意曲线的有力工具,在许多软件(如Adobe Photoshop)中,钢笔工具就是贝塞尔曲线的应用。实际上,在《捕鱼达人》游戏中,为了控制鱼的游动,我们就用到了贝塞尔曲线。

每一条贝塞尔曲线都包含一个起点和一个终点。在一条曲线中,起点和终点都各自包含一个控制点,而控制点到端点的连线称作控制线。控制线决定了从端点发出的曲线的形状,包含角度和长度两个参数:角度决定了它所控制的曲线的方向,即这段曲线在这一控制点的切线方向;长度控制曲线的曲率。控制线越长,它所控制的曲线离控制线越近。示例图如图4-1所示。

任意一段曲线都可以由一段或几段相连的贝塞尔曲线组成,因此我们只需考虑一段贝塞尔曲线应该如何描述即可。一段独立的贝塞尔曲线如图4-2所示。

使用时我们要先创建ccBezierConfig结构体,设置好终点endPosition以及两个控制点controlPoint_1和controlPoint_2后,再把结构体传入CCBezierTo或CCBezierBy的初始化方法中:

   
   
  1. ccBezierConfig bezier;  
  2. bezier.controlPoint_1 = ccp(20, 150);  
  3. bezier.controlPoint_2 = ccp(200, 30);  
  4. bezier.endPosition = ccp(160, 30);  
  5. CFiniteTimeAction * beizerAction = CCBezierTo::create(actualDuration / 4, bezier);  
  6. http://book.51cto.com/art/201305/394771.htm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4.3.1 位置变化动作 的相关文章

  • cocos2dx使用TiledMap模拟3D地图场景----斜45度2D地图的靠墙直线移动

    基于cocos2dx引擎的第三人称射击游戏 角色使用3D模型 地图采用2 5D 定制地图编辑系统抛开不谈 这里最大可能的挖掘现有工具TiledMap的潜力 完成超2 5D地图的实现 使用2D地图高度模拟3D场景 主要有两个要点需要解决 1
  • 硬件3D加速指南

    硬件3D加速指南 内容 1 解释 2 安装Xorg和配置内核 3 配置直接渲染 4 测试3D加速 5 疑难解答 6 参考 1 解释 什么是硬件3D加速 为什么我需要它 使用硬件3D加速 三维渲染将会使用显卡上的图形处理器来进行 而不会占据宝
  • cocos2d-x中有一个JniHelper类详细使用

    主体思路 通过JNI获取java虚拟机 再获取当前程序的JNI环境 通过JNI环境获取需要调用的java类信息 再获取需要调用的java类中的函数信息 再通过JNI环境调用 使用类信息 函数信息 调用对应的java函数 看起来好像有点复杂
  • Android获取IMEI和MEID

    在破解微信数据库时 需要获取手机的DeviceId 但是有时会出现打不开的情况 报出file is not a database while compiling select count from sqlite master的异常 这时发现
  • c++实现创建一个cocos2d-x的场景类

    文件 http pan baidu com s 1ntlu14H createVSClass cpp 定义控制台应用程序的入口点 include stdafx h include
  • pvr 与 png 的内存占用

    原文链接 http blog sina com cn s blog 6fbe210701015j7z html Zwoptex 生成的 spritesheet 除了可以导出 png 格式的图片外还有 pvr 格式 pvr 格式是 iOS 的
  • 加密so文件中指定的函数

    加密so文件中指定的函数 作者 0n1y3nd丶 分类 逆向学习 发布时间 2014 09 04 22 24 61条评论 前言 上一篇文章中详细分析了对so文件中自定义section的加密 这一篇来分析下对so文件中自定义函数的加密 原文地
  • Cocos2d-android游戏引擎

    什么是游戏引擎 游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件 这些系统为游戏设计者提供各种编写游戏所需的各种工具 其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始 Cocos2d家族 coc
  • cocos2dx:瓦片地图加载失败及黑线问题

    问题 1 瓦片地图加载失败 运行时 获取瓦片地图的层失败 调试发现 获取的层是一个 NULL 遇到这个问题 我第一反应是图片路径有问题 但经过检查发现 路径没有问题 然我就怀疑 是我的代码有问题 然而并没有 调试无果 我就把目光转向瓦片地图
  • Texture::getSourceFileType()

    Texture getSourceFileType
  • Cocos2d-x 3.17.1 Android Studio环境搭建和创建编译项目和真机调试

    eclipse NDK参考 https www cnblogs com l d d p 6531557 html 最近项目上需要用Cocos2d x在Android智能硬件上进行开发 很早之前搭建过Cocos2d x3 15 1 Eclip
  • OpenGL Vertex Buffer Objects(VBOs)

    OpenGL Vertex Buffer Objects VBOs 分类 OpenGL2010 05 20 12 53 3714人阅读 评论 13 收藏 举报 buffer float list struct 存储 工作 原创文章转载请注明
  • Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)

    在上篇文章中 我给大家介绍了如何在cocos2d x里面绘制一个三角形 当时我们使用的是cocos2d x引擎自带的shader和一些辅助函数 在本文中 我将演示一下如何编写自己的shader 同时 我们还会介绍VBO 顶点缓冲区对象 和V
  • 浅解cocos2d-x中的CCSprite绘制原理

    cocos2d x版本为2 0 4 此画图调用的是opengl es 2 0版本 支持三角形画图 故必须有一个顶点数组 此定义定义在CCSprite h中 ccV3F C4B T2F Quad m sQuad 而这个顶点数组的定义为 4 c
  • Cocos2D-x 3.0 中图元和精灵的 Z 索引不一致?

    我有两层 每个图层都有一个使用 OpenGL 进行的原始绘图 如下所示 void Layer1 drawPolygon glLineWidth 1 DrawPrimitives setDrawColor4B 255 255 255 255
  • 在 Cocos2d-x 中创建 InAppPurchase [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是 Cocos2d x 的新手 我需要为 Cocos2d x iOS 游戏 CPP 创建 InAppPurchase 任何人都可以帮助我
  • SSL 归档符号表错误(运行 ranlib)

    我构建了 OpenSS1 0 2g智能狐客户端 http smartfoxserver com API 1 6 3 Cocos2dx v3 Android Windows 10 64 位 它抛出错误 SSL 归档符号表错误 运行 ranli
  • Cocos2d-x:可以使用HTML(UIWebView)吗?

    我正在尝试cocos2d x现在我可以为 Android 构建 Javascript 示例并在浏览器中运行它们 现在我想创建自己的游戏 但由于有 HTML 背景 我宁愿使用 HTML 标签和 CSS 也不愿使用 Javascript 来设置
  • 将 Spritekit 游戏转换为 Android?

    是否有任何新选项可以将 spritekit 游戏转换为 Android 游戏 似乎唯一的选择是用 Java 重新编码所有内容或使用 Cocos2D LibGDX 等 很不幸的是 不行 而且带有 Apportable 服务的跨平台 Sprit
  • 将数据库(例如 sqlite)与 cocos2d-x 一起使用

    我开始在 iPhone 上构建游戏应用程序 我正在使用 cocos2d x 游戏引擎 因为它很容易从那里移植到 Android 而且编码是用我非常熟悉的C 编写的 我想知道是否有办法在 cocos2d x 中使用任何数据库 虽然sqlite

随机推荐

  • Docker 容器基础介绍

    目录 一 基础介绍 二 Docker 安装 linux 安装 vim linux 安装 sudo 三 Docker 常用操作命令 1 Docker windows版本安装 2 设置Docker镜像加速器 3 Docker 其它镜像相关 以D
  • 基因序列相似度(LCS)

    目录 1 问题描述 2 一些细节 3 思路 4 代码 1 问题描述 基因序列包含四种核苷酸 分别用A C T和G四个字母简单地表示 编写一个程序 按以下规则比较两个基因并确定它们的相似程度 规则 使用对齐方法 可以在基因的适当位置插进空格
  • [人工智能-深度学习-20]:卷积神经网络CNN - 全连接网络的缺点与CNN的使命

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120732872 目录 第1章 全连接
  • Jlink使用技巧之RTT和J-Scope

    在调试单片机程序时 串口打印是一种非常常用的方式 有时候 硬件上没有预留串口时 就需要采用其它方式进行打印调试 1 Jlink SEGGER RTT Jlink SEGGER RTT是一种非常好用的方式 只需要通过Jlink的SWD或者JT
  • 前端面试题之CSS

    文章目录 遗留问题 1 css盒子模型 2 css选择器 3 伪类与伪元素的区别 回答 4 css中有哪些属性可以继承 5 CSS优先级 6 居中一个div 7 块级元素和行内元素的区别 8 position的值 9 CSS3 有哪些新特性
  • logminer介绍

    理解和使用Oracle 8i分析工具LogMiner Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具 使用该工具可以轻松获得Oracle 重作日志文件 归档日志文件 中的具体内容 特别是 该
  • Windows下查看Android手机APP日志

    1 JDK环境搭建 略 在命令行窗口输入 java version 回车后显示版本号则表示JDK环境安装成功 2 配置adb环境 点击下方打开官网链 下载适用于Windows的SDK Platform Tools 下载成功后解压该文件 ht
  • 定时任务动态管理-Scheduled

    文章目录 前言 一 架构流程图 二 代码实现流程 1 引入库 2 代码流程 前言 定时任务动态管理分为两种方式 方式一 Web前台配置Trigger触发器 关联Cron ThreadPoolTaskScheduler类创建Scheduler
  • 蓝桥杯每日一题2023.9.21

    蓝桥杯2021年第十二届省赛真题 异或数列 C语言网 dotcpp com 题目描述 Alice 和 Bob 正在玩一个异或数列的游戏 初始时 Alice 和 Bob 分别有一个整数 a 和 b 有一个给定的长度为 n 的公共数列 X1 X
  • 与ajax类似的技术,介绍Ajax与jQuery技术

    Ajxs技术 异步的JavaScript与XML 已有多种技术的组合 Ajax的优点是什么 1 可以实现客户端的异步请求操作2 进而在不需要刷新页面的情况下与服务器进行通信 减少用户的等待时间3 减轻服务器和带宽的负担 提供更好的服务响应
  • linux socket bind 内核详解,Socket与系统调用深度分析(示例代码)

    1 什么是系统调用 操作系统通过系统调用为运行于其上的进程提供服务 当用户态进程发起一个系统调用 CPU 将切换到 内核态 并开始执行一个 内核函数 内核函数负责响应应用程序的要求 例如操作文件 进行网络通讯或者申请内存资源等 在Linux
  • 在 CentOS 上安装 Docker 引擎

    在 CentOS 上安装 Docker 引擎 预计阅读时间 11分钟 要在 CentOS 上开始使用 Docker 引擎 请确保 满足先决条件 然后 安装 Docker 先决条件 操作系统要求 要安装 Docker Engine 您需要 C
  • 双向广搜(bfs)

    双向广度优先搜索 广度优先搜索遵循从初始结点开始一层层扩展直到找到目标结点的搜索规则 它只能较好地解决状态不是太多的情况 承受力很有限 如果扩展结点较多 而目标结点又处在较深层 采用前文叙述的广度搜索解题 搜索量巨大是可想而知的 往往就会出
  • GDI+ Graphics绘文字定位不准,显示偏差问题

    拿来主义人员速达 取一般的版式 TGPStringFormat 对象 使用可以达到精准定位显示效果 format GenericTypographic MFC开发中需要自绘控件 使用Graphics绘文字时出现位置偏右偏下问题 显示效果如下
  • JSR-303使用依赖jar包

    jboss logging 3 1 0 GA jar slf4j api 1 5 8 jar hibernate validator 4 3 0 Final jar validation api 1 1 0 Alpha1 jar java
  • springboot 定时任务(线程配置,并行【同步】、异步等)

    定时任务 实现方式 SpringBoot自带的Scheduled 可以将它看成一个轻量级的Quartz 而且使用起来比Quartz简单许多 本文主要介绍 执行方式 单线程 串行 多线程 并行 创建定时任务 Component EnableS
  • 数据库主从同步的作用是什么,如何解决数据不一致问题?

    Redis是一种高性能的内存数据库 而MySQL是基于磁盘文件的关系型数据库 相比于Redis来说 读取速度会慢一些 但是功能强大 可以用于存储持久化的数据 在实际工作中 我们常常将Redis作为缓存与MySQL配合来使用 当有数据访问请求
  • Android 使用Lottie的三个小技巧

    Android 使用Lottie的三个小技巧 Shawn 文章目录 Android 使用Lottie的三个小技巧 I 开启硬件加速 II 通过添加AnimatorListener来控制动画行为 III 通过设置播放速度来实现动画倒放 I 开
  • 构建天气数据API:使用Scrapyd提供实时天气信息接口

    目录 1 天气数据API的重要性 2 选择合适的气象数据源 3 构建天气数据爬虫 4 使用Scrapyd进行
  • 4.3.1 位置变化动作

    4 3 1 位置变化动作 2013 05 21 10 12 火烈鸟网络科技 人民邮电出版社 我要评论 0 字号 T T Cocos2d x高级开发教程 第4章动作 在这一章中 我们将为大家详细介绍各种动作的使用方法 读完本章后 读者将会学到