Cocos2d-x 3(5)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

–[[

ClickAndMoveTest.lua

点击与移动

]]–

– 获取屏幕尺寸

local size = cc.Director:getInstance():getWinSize()

local layer = nil – 层

local kTagSprite = 1 --精灵标记

local function initWithLayer()

local sprite = cc.Sprite:create(s_pPathGrossini)

– 添加颜色层,黄色

local bgLayer = cc.LayerColor:create(cc.c4b(255,255,0,255))

layer:addChild(bgLayer, -1)

– 添加

layer:addChild(sprite, 0, kTagSprite)

– 设置精灵位置到(20,150)

sprite:setPosition(cc.p(20,150))

– 执行跳的动作,第一个参数为持续时间,第二个参数为位置,第三个参数为跳的高度,第四个参数跳的次数

sprite:runAction(cc.JumpTo:create(4, cc.p(300,48), 100, 4))

– 背景层执行无限重复的动作序列,先淡进,再淡出

bgLayer:runAction(cc.RepeatForever:create(cc.Sequence:create(

cc.FadeIn:create(1),

cc.FadeOut:create(1))))

– 触摸开始

local function onTouchBegan(touch, event)

return true

end

– 触摸结束

local function onTouchEnded(touch, event)

– 获取点击位置

local location = touch:getLocation()

– 根据标记获取子节点

local s = layer:getChildByTag(kTagSprite)

s:stopAllActions()-- 停止所有动作

– 执行移动动作,移动到点击的位置

s:runAction(cc.MoveTo:create(1, cc.p(location.x, location.y)))

local posX, posY = s:getPosition() – 获取精灵的位置

local o = location.x - posX – X轴的距离

local a = location.y - posY – Y轴的距离

local at = math.atan(o / a) / math.pi * 180.0 --求角度 ,反正切函数求弧度/π*180.0

–1弧度= 180/π, 1度=π/180

– 点击位置在下边

if a < 0 then

– 点击位置在左边

if o < 0 then

at = 180 + math.abs(at)

else

– 点击位置在右边

at = 180 - math.abs(at)

end

end

– 执行旋转的动作

s:runAction(cc.RotateTo:create(1, at))

end

– 单点触摸的监听器

local listener = cc.EventListenerTouchOneByOne:create()

– 注册两个回调监听方法

listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )

listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )

local eventDispatcher = layer:getEventDispatcher()-- 时间派发器

– 绑定触摸事件到层当中

eventDispatcher:addEventListenerWithSceneGraphPriority(listener, layer)

return layer

end


– Click And Move Test


function ClickAndMoveTest()

cclog(“ClickAndMoveTest”)

local scene = cc.Scene:create()

layer = cc.Layer:create()

initWithLayer()

scene:addChild(layer)

scene:addChild(CreateBackMenuItem())

return scene

end

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值