首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lua Gideros:用触摸画线有问题

Lua Gideros:用触摸画线有问题
EN

Stack Overflow用户
提问于 2014-09-29 23:56:59
回答 1查看 212关注 0票数 0

在我使用Gideros和Lua的游戏中,我希望玩家能够从接触屏幕的那一点开始画一条直线,直到他们释放出来。但是,当我尝试运行这段代码时,总是会收到一条错误消息。以下是代码:

代码语言:javascript
复制
local function onMouseDown(event)
    event.x = startx
    event.y = starty

    event:stopPropagation()
end

local function onMouseUp(event)
    event.x = endx
    event.y = endy
    event:stopPropagation()
    local line = Shape.new()
    line:setLineStyle(5, 0x0000ff, 1)
    line:beginPath()
    line:moveTo(startx,starty)
    line:lineTo(endx,endy)
    line:endPath()

end

下一行是我代码中的第66行:

代码语言:javascript
复制
scene:addEventListener(Event.MOUSE_DOWN, onMouseDown)
scene:addEventListener(Event.MOUSE_UP, onMouseUp)

这是我设置“场景”的台词:

代码语言:javascript
复制
scene = gideros.class(Sprite)

以下是我的错误信息:

main.lua:66:无法找到索引'__userdata‘堆栈回溯: main.lua:66:在主块中

有人知道我为什么会收到这个消息吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-01 17:49:15

如果你这样做了

代码语言:javascript
复制
scene = gideros.class(Sprite)

它意味着场景是一个类,但是您只能将事件侦听器添加到类的实例中,而不能添加类本身。

所以像这样的事情应该有效:

代码语言:javascript
复制
Scene = gideros.class(Sprite)
local scene = Scene.new()
stage:addChild(scene)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26110692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档