使用OOP在Corona LUA中创建多个sprite对象

时间:2017-11-26 19:12:08

标签: oop lua corona

由于代码非常少,我决定将其全部发布在下面。

我尝试创建的OOP代码的核心是在初始化tapListener时启动

我将气球(imageRect)设置为每个气球实例的精灵属性。

然后我有一个tapListener告诉气球实例在点击时移动。

但是,当我点击创建的3个气球中的任何一个时,只有一个气球移动。

我猜这与自我对象的全局引用或local background = display.newImageRect( "background.png", 460, 570 ) background.x = display.contentCenterX background.y = display.contentCenterY local platform = display.newImageRect( "platform.png", 300, 50 ) platform.x = display.contentCenterX platform.y = display.contentHeight-25 local physics = require("physics") physics.start() physics.addBody( platform, "static" ) Balloon = {xloc = display.contentCenterX, yloc = display.contentCenterY} function Balloon:new (o) o = o or {} setmetatable(o, self) self.__index = self self.sprite = display.newImageRect("balloon.png", 112, 112) self.sprite.x = o.xloc self.sprite.y = o.yloc physics.addBody(self.sprite, "dynamic", {radius=50, bounce=0.4}) return o end function Balloon:push() self.sprite:applyLinearImpulse(0.2, -0.75, self.sprite.x-10, self.sprite.y) end function Balloon:tapListener() self.sprite:addEventListener("tap", function() self:push() end) end balloons = {} for i=1,3,1 do balloons[i] = Balloon:new{xloc=display.contentWidth-(120*i)+60} balloons[i]:tapListener() end 函数中更改的范围有关。

有什么想法吗?

你可以在它下面运行代码!

<?php
$p_main_ip = 'xxx.xxx.xxx.xxx'; // ip of the server2
$user = 'root';
$p_password = 'password'; // server2 root password
   $connection = ssh2_connect($p_main_ip, 22);
   if($connection)
   {
      if(ssh2_auth_password($connection, $user, $p_password))
      {
        $stream = ssh2_exec($connection, 'tar xvpfz /home/t.tgz -C /');
      }
   }
?>

0 个答案:

没有答案