博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x中使用CCOrbitCamera做水平翻转
阅读量:6857 次
发布时间:2019-06-26

本文共 1315 字,大约阅读时间需要 4 分钟。

项目中需要用到水平翻转效果,这里偷懒了…

 

首先翻转,它只是转到了180度,多了就觉得很奇怪了。 所以这里设定就是先从0 ~ 90度,然后再从270 ~ 360,90 – 270 视觉上是感觉不到变化的,因为它都是垂直着屏幕显示,是向上/向下垂直,肉眼一般感知不到。所以基于这个思路实现起来就比较容易多了

function PCPalaceTributeVerLogic:FlipSpriteHandler()     local action = CCOrbitCamera:create(0.5, 1, 0, 0, 90, 0, 0)     local callback = FlipSpriteCallback       local seqArr = CCArray:create()     seqArr:addObject(action)     seqArr:addObject(callback)       local seq_action = CCSequence:create(seqArr)       m_spt:runAction(seq_action) end function PCPalaceTributeVerLogic:FlipSpriteCallback()     m_spt:SetSpriteName(m_picUrl)        local action = CCOrbitCamera:create(0.5, 1, 0, 270, 90, 0, 0)     local callback = FlipSpriteComplete        local seqArr = CCArray:create()     seqArr:addObject(action)     seqArr:addObject(callback)           local seq_action = CCSequence:create(seqArr)           m_spt:runAction(seq_action) end    function PCPalaceTributeVerLogic:FlipSpriteComplete()     cclog("=========== FlipSpriteComplete") end

----------------

上面的代码不能直接被使用,只是思路,可以自行增减已达到效果

 

0 ~ 90 重新设置图片,再从 270 ~ 360

static CCOrbitCamera* create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);

参数分别是:

旋转的时间、起始半径、半径差、起始z角、旋转z角差、起始x角、旋转x角差

注意差值可为正、负

转载于:https://www.cnblogs.com/meteoric_cry/p/3431660.html

你可能感兴趣的文章
Filter过滤器详解(转)
查看>>
第一章 起步
查看>>
socket和http有什么区别?
查看>>
vue+element刷新当前路由
查看>>
关于“机器人离线编程”国内外近三年的研究
查看>>
计算机网络
查看>>
[04]javascript的数据类型
查看>>
[CC-SEABUB]Sereja and Bubble Sort
查看>>
JS设置cookie、读取cookie、删除cookie
查看>>
我的博客园的CSS和html设置
查看>>
数论基础(维诺格拉多夫著,裘光明译) 勘误
查看>>
vue-cookies的使用
查看>>
Code Signal_练习题_Make Array Consecutive2
查看>>
双向循环链表 初始化 插入 删除
查看>>
C#设计模式:职责链模式(Chain of Responsibility)
查看>>
Knockout.js随手记(2)
查看>>
条件注释判断IE浏览器
查看>>
Hibernate,删除对象时错误。
查看>>
C#中Cookies的读取
查看>>
冬季养生进补20招
查看>>