四 getBoundingBox,getContentSize

作者: 亮亮同学 | 来源:发表于2017-11-05 18:34 被阅读28次

cocos2d-x技术群新群:117871561
c++技术交流群:593010226

这里不死抠cocos-lua组件的原理, 重在快速上手使用, 只针对快速开发,所以我尽量用简洁 易懂的 文笔去阐述。

在一个公司里能运用手上的知识 快速的完成一个功能才是最好的,也可已根据自己的能力和时间 去选择是不是要深入的了解这些组件及功能。

当然我的文章 也会根据我对cocos2d-lua的了解程度 不断更新,完善,希望能帮助在职场打拼的朋友从菜鸟到大神

1,总述

getBoundingBox 中得 Size.width .height 显示图片真实大小 (考虑缩放和不缩放)
getContentSize 纹理图片大小
图片有缩放 就用 getBoundingBox ,不考虑缩放用 getContentSize 这样次能获得想要的效果

2,示例代码(主要看这条)

getBoundingBox

--假设x.y是某个触摸点
lcoal x = 100
local y = 200

local image = cc.Sprite:create("xx.png")
--该图片放大10倍
image:setScale(10)
--获取该图片放大后的大小
lcoal rec = image:getBoundingBox()
--判断触摸点是否在该范围内 不在 则隐藏图片
if rec
then 
  if not cc.rectContainsPoint(rec,cc.p(x,y))
   then
      image:setVisible(false)
   end
end

getContentSize

--假设x.y是某个触摸点
lcoal x = 100
local y = 200

local image = cc.Sprite:create("xx.png")
--获取该图片放大后的大小
lcoal rec = image:getContentSize()
--判断触摸点是否在该范围内 不在 则隐藏图片
if rec
then 
  if not cc.rectContainsPoint(rec,cc.p(x,y))
   then
      image:setVisible(false)
   end
end

3,项目实例(判断菜单按钮的显示)

--初始化Csb
function GameViewLayer:_initCsbRes()
--点击事件
--创建一个层
    local touch = display.newLayer()
        :setLocalZOrder(10)
        :addTo(self)
--打开该层的触发开关
    touch:setTouchEnabled(true)
--注册事件 参数为回调函数此处用的是lua的匿名函数,此函数有三个参数 触摸按钮的标签,横坐标,纵坐标
    touch:registerScriptTouchHandler(function(eventType, x, y)
        return self:onTouch(eventType, x, y)
    end)
end

--处理回调
function GameView:onTouch(evenType,x,y)
if eventType == "began" then
        if self._MenuCtrl.SHOWN == true then
            local rc = self._MenuCtrl:getBoundingBox()
            if rc then
                if not cc.rectContainsPoint(rc,cc.p(x,y)) then
                    self:showMenu(false)
                    return true
                end
            end
        end
    end

相关文章

  • 四 getBoundingBox,getContentSize

    cocos2d-x技术群新群:117871561c++技术交流群:593010226 这里不死抠cocos-lua...

  • cocos2d js 笔记三 getContentSize()

    this.custermerBGSprite = new cc.Sprite(res.custermerBG_pn...

  • 四郎四郎傅四郎(四)

    上一章-南城(三) 第二章•无头女婴(一) 聚园柳庄内一私人别墅。 “四个,这是刚刚丁探长让人整理的和9...

  • 四(四)资源

    资源在MQL4程序中使用图形和声音 MQL4中的程序允许处理声音和图形文件:PlaySound() // 播放声...

  • 小 四 (四)

    这一次见面过后,又好多年没有见过小四。但是她三十岁那年,听到家里人又谈起了小四。 小四前两年又生了个女儿。由于她生...

  • 四幺四

    四月十四日,我想起了大学宿舍里面的扑克游戏四幺四,当时风靡整个后楼二十二系势力范围,一时“不会四幺四,人缘肯定次”...

  • 四苦 四醒 四行 四喜 四悲 四得(经典!)

    人生四苦 一苦:看不透 看不透人际中的纠结,争斗后的隐伤 看不透喧嚣中的平淡,繁华后的宁静 二苦:舍不得 舍不得曾...

  • 四人 · 四城 · 四时 · 四地

    四人 · 四城 · 四时 · 四地 由于工作和生活的原因,四个闺密的开始四地分隔生活,不一样的生活环境,不尽相同的...

  • 四郎四郎傅四郎

    契子 你有没有试过 掏心掏肺的爱一个人 嫉妒他对另一个人的好 却在他厌恶自己的那一刻 才发现 原来自己...

  • 四懂四会四能力

    四懂 1.懂本岗位的火灾危害性 2.懂预防措施 3.懂扑救火灾的方法 4.懂疏散 四会 1.会报警 2.会使用消防...

网友评论

    本文标题:四 getBoundingBox,getContentSize

    本文链接:https://www.haomeiwen.com/subject/oelhmxtx.html