使使用函数创建的两个对象可触摸(LUA、Corona)

2024-01-17

我想这是一个真正的新手问题,

但我有以下代码:

local function createCircle()
[...]
circle = display.newCircle( positionX, positionY, circleRadius )
[...]
end

function circle:touch( event )
   if event.phase == "ended" then
      scaleCircle(self,scaleUp)
   end
   return true;
end
circle:addEventListener("touch", circle)

我把它清理了一下,以便专注于重要的事情。

我现在的问题是:我可以触摸一个圆并缩放它。但这仅适用于其中一个圆圈(我想创建 3 或 4 个圆圈)。我猜它只适用于最后创建的圆圈。

我想这里的主要问题是,我用“createCircle()”创建的所有圆圈都被命名为“circle”。所以 EvenListener 只适用于我创建的“圈子”。

有什么想法可以选择我创建的其他圈子吗?

谢谢 :)


You MUST使用表格。例如:

circles = {}
local function createCircle()
  --[[ MORE CODE ]]--
  table.insert( circles, display.newCircle( positionX, positionY, circleRadius ) )
  --[[ MORE CODE ]]--
end
function circle:touch( event )
   if event.phase == "ended" then
      scaleCircle(self,scaleUp)
   end
   return true;
end
for _, circle in ipairs( circles ) do
  circle:addEventListener("touch", circle)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使使用函数创建的两个对象可触摸(LUA、Corona) 的相关文章

  • 自调用函数未定义

    如果我声明一个函数文字 var x function alert hi console log x returns the function code However var x function alert hi console log
  • 如何创建不返回任何内容的函数

    我想写一个函数pl pgsql 我在用着Postgres 企业管理器 v3并使用 shell 来创建一个函数 但在 shell 中我必须定义返回类型 如果我不定义返回类型 我将无法创建函数 如何创建一个不返回结果的函数 即创建一个新表的函数
  • 如何返回包含最大值标签的向量

    我有一个 4 列数组 我想获得一个向量 其中每行包含包含该行最大值的列的标签 我可以在循环中执行此操作 但我想使用矩阵函数来提高速度 我怎样才能在不编写自己的库函数的情况下做到这一点 有一个函数可以做到这一点 如果x是你的矩阵 尝试max
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • 类函数/变量在使用之前是否必须声明?

    所以我在学习课程时偶然发现了一些对我来说相当尴尬的事情 class Nebla public int test printout return x void printout printout2 private int x y void p
  • 如何让我的 add 命令找到第一个变量和第二个变量的值,然后将它们加在一起?

    vars values function open file lex file end function lex file local data io open file r for char in data lines do Print
  • PowerShell:函数没有正确的返回值

    我编写了一个 powershell 脚本来比较两个文件夹的内容 Dir1 d TEMP Dir1 Dir2 d TEMP Dir2 function Test Diff Dir1 Dir2 fileList1 Get ChildItem D
  • 在 C 中通过引用传递数组

    我是 C 新手 我有一个疑问 由于 C 函数创建其参数的本地副本 我想知道为什么以下代码按预期工作 void function int array array 0 4 array 1 5 array 2 6 int main int arr
  • 使用函数更改指针包含的地址

    如果我声明了一个指针p as int p 在主模块中 我可以更改包含的地址p通过分配p a where a是另一个已经声明的整型变量 我现在想通过使用以下函数来更改地址 void change adrs int q int newad q
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • Lua中有状态迭代器和无状态迭代器的区别

    Lua中无状态和有状态迭代器有什么区别 请详细解释一下 什么时候需要使用无状态 什么时候需要使用另一种 我需要例子来理解这个概念 首先让我们就一个定义达成一致 在 Lua 中 迭代器是function 类似对象 每次调用时都会返回序列中的下
  • 从类 T 获取函数名 (__func__) 和指向成员函数的指针 void(T::*pmf)()

    是否可以写一些f 接受类型的模板函数T和一个指向签名成员函数的指针void T pmf 作为 模板和 或函数 参数并返回const char 指向成员函数的 func 变量 或损坏的函数名称 EDIT 我被要求解释我的用例 我正在尝试编写一
  • 调用 UDF 时公式中使用的值的数据类型错误

    我一直在努力找出这里出了什么问题 我有两个包含字符串值的列 我使用第三列调用工作表中的 UDF 但最终得到 Value 并出现错误 公式中使用的值的数据类型错误 Eg Col I Col J File1 Y File1 N File2 Y
  • Lua 的标准(或最好支持的)大数(任意精度)库是什么?

    我正在处理大量无法四舍五入的数字 使用 Lua 的标准数学库 似乎没有方便的方法来保持精度超过某些内部限制 我还看到有几个库可以加载以处理大数字 http oss digirati com br luabignum http oss dig
  • 如何对数字进行排序? [复制]

    这个问题在这里已经有答案了 下面是代码 Is the sortNumber对数字进行排序的函数 a 和 b 是什么意思以及为什么存在 为什么sortNumber in n sort sortNumber 没有指定任何参数a and b Ja
  • 在 Lua 中只归档一次

    我想知道是否有一种方法可以只执行一次 lua 文件 并且后续尝试执行该 lua 文件将导致无操作 我已经考虑过做一些类似于 C header 的 if else endif 技巧的事情 我想知道是否有一个标准方法来实现这一点 James w
  • C++ 实现友元/内联函数

    我似乎找不到这个新手问题的答案 如果我有课 头文件 h Class X public friend bool operator const X const X inline size type rows const ETC 当我去实现X的
  • Verilog 中如何使用函数?

    在我的 FPGA Verilog 课程中 我的教授只是回顾了函数 他说在函数中 你可以按程序编写代码 然后 当您想要调用该函数时 您可以在always块中调用它 即 程序性地 也可以使用分配语句来调用它 对我来说 如何使用过程代码编写函数
  • R:在函数中包含循环?

    以下代码可用于创建一个 data frame 其中 Kendall Tau 和 Spearman 相关结果彼此相邻 data mtcars mtcars correlation lt function x y df1 cor data fr
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813

随机推荐