这样吧,我给你我的测试代码,你只要能让他跑通,触摸回调有效果就好 谢谢
需要注意加载资源的路径
main.lua
——————————————————————————
function G__TRACKBACK(msg)
print("----------------------------------------")
print(“LUA ERROR: " … tostring(msg) … “\n”)
print(debug.traceback())
print(”----------------------------------------")
end
require “extern”
local ZXScene = class(“ZXScene”, function()
return cc.Scene:create()
end
)
ZXScene.__index = ZXScene
ZXScene._bg = nil
function ZXScene:createZXScene()
local zxScene = ZXScene.new()
zxScene:initScene()
return zxScene
end
function ZXScene:initScene()
self._layer = cc.Layer:create()
self:addChild(self._layer)
require "src/hello2"
local iconInfo = {id = 1, bg = "res/touxiang/dikuang.png", head = "res/touxiang/touxiang/head1.png"}
local icon = createIcon(iconInfo)
icon:addTouchEventListener(ZXScene.iconTouchCallback)
self._layer:addChild(icon)
icon:setPosition(200,200)
end
function ZXScene:iconTouchCallback(eventType)
print "touch ssssss"
end
function __main()
local zxScene = ZXScene:createZXScene()
–runScene
if cc.Director:getInstance():getRunningScene() then
cc.Director:getInstance():replaceScene(zxScene)
else
cc.Director:getInstance():runWithScene(zxScene)
end
end
__main()
xpcall(Main, G__TRACKBACK)
hello2.lua
IconInfo = IconInfo or {}
IconInfo.id = nil
IconInfo.bg = nil
IconInfo.head = nil
Icon = class(“Icon”, function()
return ccui.Widget:create()
end
)
Icon.__index = Icon
Icon._id = nil
– Icon._layer = nil
Icon._bg = nil
Icon._head = nil
function createIcon(IconInfo)
local Icon = Icon.new()
Icon:initIcon(IconInfo)
return Icon
end
function Icon:initIcon(IconInfo)
– self._layer = cc.Layer:create()
– self:addChild(self._layer)
– self:init()
self._bg = ccui.ImageView:create()
local Bg = string.format("%s", IconInfo.bg)
self._bg:loadTexture(Bg)
self:addChild(self._bg)
local bgSize = self._bg:getSize()
– self._bg:setPosition(cc.p(bgSize.width / 2,bgSize.height / 2))
self._head = ccui.ImageView:create()
local Head = string.format("%s", IconInfo.head)
self._head:loadTexture(Head)
– self._head:setPosition(cc.p(bgSize.width / 2,bgSize.height / 2))
self._bg:addChild(self._head)
self._id = ccui.Text:create()
self._id:setText(IconInfo.id)
self._id:setFontSize(10)
– self._id:setPosition(cc.p(bgSize.width / 2,bgSize.height / 2))
self._bg:addChild(self._id)
self:setTouchEnabled(true)
end