cocosdx3.0 lua项目 从cocostudio中到处得ui 获取button 以及button监听

本文介绍如何在Lua中使用Cocos2d-x框架为按钮添加触摸事件监听器,并通过实例代码展示了不同触摸事件类型的处理方式,包括触摸开始、移动、结束及取消。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    local winsize=cc.Director:getInstance():getWinSize()
    local layer=cc.Layer:create()
    local scene=cc.Scene:create()
    n=2
    local function touchEvent(sender,eventType)

        cclog(sender:getTag())
        if eventType == ccui.TouchEventType.began then
            print("touchbegin")
        elseif eventType == ccui.TouchEventType.moved then
            print("Touch Move")
        elseif eventType == ccui.TouchEventType.ended then
        --只能出现创建一棵树
            -- local sprite = layer:getChildByTag(sender:getTag())
            local sprite
            if sprite ==nil then
                sprite = cc.Sprite:create(sender:getTag()..".png")
                sprite:setPosition(300,300)
                layer:addChild(sprite,3,n)
                n=n+1
            end
            print("Touch Up")
        elseif eventType == ccui.TouchEventType.canceled then
            print("Touch Cancelled")
        end
    end  

    local menu = ccs.GUIReader:getInstance():widgetFromJsonFile("Menu_1.json")
    layer:addChild(menu,1)
    i = 2
    while i <= 6 do
    print("i is now " .. i)
        local button2=menu:getChildByTag(i)
        if button2==nil then 
            cclog("button2==nil")
        else
            button2:addTouchEventListener(touchEvent)  
        end
        i=i+1
    end  
注意在lua中需要再加上
require "Cocos2d"
require "GuiConstants" 才可以实现监听button
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值