标签: coronasdk

在Lua中创建函数

当我通过分配创建函数时,"if"条件不起作用,但是当我创建函数时,如下面的第二个示例,它可以工作.你能告诉我为什么吗?

不工作:

local start=os.time()

local countDown = function(event)
   if((os.time()-start)==3) then
      Runtime: removeEventListener("enterFrame", countDown)
   end
   print(os.time()-start)
end

Runtime:addEventListener("enterFrame", countDown)
Run Code Online (Sandbox Code Playgroud)

工作:

local start=os.time()

local function countDown(event)
   if((os.time()-start)==3) then
      Runtime: removeEventListener("enterFrame", countDown)
   end
   print(os.time()-start)
end

Runtime:addEventListener("enterFrame", countDown)
Run Code Online (Sandbox Code Playgroud)

lua function coronasdk

6
推荐指数
1
解决办法
229
查看次数

LUA(Corona SDK)math.floor()返回错误的值,增量为0.1

当我在每次增加0.1的双值上使用Math.floor函数时,我有一个奇怪的错误.

它仅以0.1的增量发生并从值5开始

例如:math.floor(4)返回4但math.floor(5)返回4 !!!

您可以使用这段简单的代码自行尝试:

for i=3,7,0.1 do 
    print("val : "..i.." floor : "..math.floor(i))
end
Run Code Online (Sandbox Code Playgroud)

以下是上述代码的结果:

 Corona Simulator[1494:707] val : 3 floor : 3
 Corona Simulator[1494:707] val : 3.1 floor : 3
 Corona Simulator[1494:707] val : 3.2 floor : 3
 Corona Simulator[1494:707] val : 3.3 floor : 3
 Corona Simulator[1494:707] val : 3.4 floor : 3
 Corona Simulator[1494:707] val : 3.5 floor : 3
 Corona Simulator[1494:707] val : 3.6 floor : 3
 Corona …
Run Code Online (Sandbox Code Playgroud)

lua coronasdk

5
推荐指数
1
解决办法
1259
查看次数

如何将对象放在屏幕的另一侧

我正在编写一个程序,用于我正在进行的移动应用开发课程.该应用程序涉及我在屏幕上放置2个按钮.我知道当我把/ 2放在中间时,当我把它放在/ 3时它将按钮放在屏幕左边三分之一处.因为我需要两个按钮,我想把左边的三分之一(我知道怎么做),右边的三分之一(我不知道怎么做).我该怎么做才能做到这一点?

我的代码片段:

myRedButton.x = display.contentWidth /3 
myRedButton.y = display.contentHeight -50 
myGreenButton.x = display.contentWidth /2 
myGreenButton.y = display.contentHeight -100
Run Code Online (Sandbox Code Playgroud)

我是移动应用程序编程领域的新手,所以请保持简单.谢谢!

mobile lua android coronasdk

5
推荐指数
1
解决办法
160
查看次数

Corona SDK矢量圆圈抗锯齿 - 它有效吗?

我已经搜索了一吨甚至升级到图形2.0,因为我读到矢量形状的抗锯齿现在在Corona中工作.话虽如此,一切仍然是像素化(在模拟器和我的手机中)或多边形(在我的Nexus 7上).

我在配置文件中打开了抗锯齿功能,但没有更改任何绘制圆圈代码:

config.lua

application = {
  content = {
    width = 320,
    height = 480, 
    scale = "letterBox",
    fps = 60,
    antialias = true,
    xalign = "center",
    yalign = "center",

    imageSuffix = {
        ["@2x"] = 2
    }   
  }
}
Run Code Online (Sandbox Code Playgroud)

main.lua

local function newDot (i,j)
  local newCircle = display.newCircle( i*40-20, -60, 15)
  newCircle:setFillColor( .2, .6, .86 )
  return newDot
end
Run Code Online (Sandbox Code Playgroud)

这应该创建抗锯齿圈吗?

谢谢!

lua geometry vector antialiasing coronasdk

5
推荐指数
1
解决办法
1327
查看次数

试图在日冕中调用方法'translet'(零值)

对于这个功能fallingCoins(),我在代码中向后移动硬币,当锚点接触硬币时我需要隐藏这些硬币.

function fallingCoins()
local myPlayer = display.newCircle( math.random(20,_W+20), -25, math.random(10,10)  )
    myPlayer:setStrokeColor(255, 128, 0 ) 
    myPlayer:setFillColor(math.random(245,255),math.random(210,223),7)
    myPlayer.myName = "myPlayer"
    physics.addBody( myPlayer, "static" )
    myPlayer.y = "150"
     local function muovi()
     myPlayer:translate(-2, 0)
     end
 Runtime:addEventListener( "enterFrame", muovi );

end
timer.performWithDelay( 3000, fallingCoins )
Run Code Online (Sandbox Code Playgroud)

如果碰到锚,我就会隐藏硬币.

function onCollision3( event )
   if(event.object1.myName == "guy" and event.object2.myName == "myPlayer") then
      event.object2:removeSelf(); 
   end
end
Runtime:addEventListener( "collision", onCollision3 )
Run Code Online (Sandbox Code Playgroud)

如果我触摸硬币然后我就会收到此错误

"---------------------------
Corona Runtime Error
---------------------------
...as\desktop\run2\scroll\scrolling background\main.lua:123: attempt to call method 'translate' (a nil value)
stack …
Run Code Online (Sandbox Code Playgroud)

lua coronasdk

5
推荐指数
1
解决办法
496
查看次数

Lua代码,游戏中的方块

我有一个问题,你可以在图片中看到的方形和圆形.

不知道如何删除这个,任何人都可以帮我不显示它吗?

代码示例如下:

supermanSpriteSheet = sprite.newSpriteSheet("superman.png", 100, 34)
supermanSprites = sprite.newSpriteSet(supermanSpriteSheet, 1, 4)
sprite.add(supermanSprites, "supermanes", 1, 4, 1000, 0)
superman = sprite.newSprite(supermanSprites)
superman.x = 0
superman.y = 100
superman:prepare("supermanes")
superman:play()
superman.collided = false
fisica.addBody(superman, "static", {density=.1, bounce=0.1, friction=.2})
screenGroup:insert(superman)
supermanIntro = transition.to(superman,{time=1000, x=100, onComplete=supermanReady})
Run Code Online (Sandbox Code Playgroud)

游戏形象:

IMG

lua coronasdk

5
推荐指数
1
解决办法
144
查看次数

从不同的lua文件调用函数

我在menu.lua中有这个

local db = require "databaseconnection"
...
local function onEndBtnRelease()
    local thisandthat = db.getLoggedIn()
    native.showAlert( "Corona SDK", thisandthat.." teststring", { "OK" } )
end
...
Run Code Online (Sandbox Code Playgroud)

这在databaseconnection.lua中

local function getLoggedIn()
    print("Test")
    --[[...
    ]]--

    return "some data"
end 
Run Code Online (Sandbox Code Playgroud)

我唯一想要的是String("some data")from getLoggedIn(),但我得到的只是一个错误:

...\corona\menu.lua:51:尝试调用字段'getLoggedIn'(零值)

永远不会达到外包.我正在研究Corona SDK和Sublime,所需的数据来自isLoggedIn()sqlite-request.我怎样才能达到这个功能?

lua module function coronasdk

5
推荐指数
1
解决办法
3643
查看次数

尝试索引local(布尔值)

我有2个不同的Lua文件,main.luagame_model.lua.我正在尝试在JSON文件中保存一些细节(我用谷歌搜索使用JSON文件将是保存用户设置和得分的最佳方式),但我收到以下错误:

错误:文件:main.lua行:11尝试索引本地'游戏'(布尔值)

为什么我会收到此错误以及如何解决?

这是我的代码main.lua:

--Main.lua

display.setStatusBar( display.HiddenStatusBar )

local composer = require( "composer" )
local game = require("data.game_model")

myGameSettings = {}
myGameSettings.highScore = 1000
myGameSettings.soundOn = true
myGameSettings.musicOff = true
myGameSettings.playerName = "Andrian Gungon"
game.saveTable(myGameSettings, "mygamesettings.json")

composer.gotoScene("scripts.menu")
Run Code Online (Sandbox Code Playgroud)

game_model.lua(在data子目录中)包含以下代码:

--game_model.lua (located at data/game_model.lua)

local json = require("json")

function saveTable(t, filename)
    local path = system.pathForFile( filename, system.DocumentsDirectory)
    local file = io.open(path, "w")
    if (file) then
        local contents = json.encode(t)
        file:write( contents )
        io.close( …
Run Code Online (Sandbox Code Playgroud)

lua coronasdk

5
推荐指数
2
解决办法
1万
查看次数

Unity2d与电晕

我正在使用Corona SDK几个月。我真的很喜欢,但是昨天我发现了Unity2d。它似乎真的扩大了。我只对Android(Google Play商店)和IOS(AppStore)上的2d游戏感兴趣

Unity2d跨平台是否像Corona SDK一样?我在Lua中只编写了一次代码,可以在Android或IOS上部署它。

Unity2d是否有很多插件,例如Facebook,Twitter,应用程序pucharse等?

我看到了统一Pro,但每月花费约80美元。免费版本足以制作2D游戏并在将来发布吗?

您认为用电晕sdk或unity2d制作Android或IOS二维游戏的效果更好吗?谢谢。

unity-game-engine coronasdk

5
推荐指数
1
解决办法
4248
查看次数

lua中表键周围的方括号有什么作用?

我碰到了像这样的桌子,键周围有方括号。我知道使用lua不需要使用lua ..使用方括号时有什么区别吗?

        local commands_json =
        {
            ["request"] = {
                ["application"] = PW_APPLICATION,
                ["push_token"] = deviceToken,
                ["language"] = "en",  --OR: system.getPreference( "ui", "language" ),
                ["hwid"] = system.getInfo("deviceID"),
                ["timezone"] = -3600,  --offset in seconds
                ["device_type"] = deviceType
            }
        }
Run Code Online (Sandbox Code Playgroud)

lua coronasdk lua-table

5
推荐指数
1
解决办法
1077
查看次数