Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 电晕物理探体位置_Lua_Sdk_Coronasdk_Game Physics_Detection - Fatal编程技术网

Lua 电晕物理探体位置

Lua 电晕物理探体位置,lua,sdk,coronasdk,game-physics,detection,Lua,Sdk,Coronasdk,Game Physics,Detection,我在使用Corona SDK编写的游戏中跟踪物理实体时遇到了一些问题(完整代码可在此处找到:) 我对我所有的障碍物都施加一个线性脉冲,让它们移动,但我想让它们在到达某个X位置后停止。我以为我写的代码是正确的,但编译器告诉我不是这样的 请注意我在badguy.move()功能中遇到了麻烦 我的文件: 主要内容: 主菜单: local mainmenu = {} local Physics = require("physics") Physics.start() function mainme

我在使用Corona SDK编写的游戏中跟踪物理实体时遇到了一些问题(完整代码可在此处找到:)

我对我所有的障碍物都施加一个线性脉冲,让它们移动,但我想让它们在到达某个X位置后停止。我以为我写的代码是正确的,但编译器告诉我不是这样的

请注意我在badguy.move()功能中遇到了麻烦

我的文件:

主要内容:

主菜单:

local mainmenu = {}

local Physics = require("physics")
Physics.start()


function mainmenu.drawMainMenu()

    menuTheme = audio.loadStream("Music/menuTheme.ogg")
    menuThemeChannel = audio.play( menuTheme, { channel=1, loops=-1, fadein=3000 } )

    background = display.newImage("menuBackground.png")
    background.x = display.contentCenterX
    background.y = display.contentCenterY
    background:scale(1.2, 1.2)

    playButton = display.newImage("playButton.png")
    playButton.x = display.contentCenterX
    playButton.y = display.contentCenterY - 75
    playButton:scale( .3, .3 )

end


function mainmenu.play()


    print("mainmenu - tap registered, preparing to load game..")

    playButton:removeEventListener( "tap", myMenu.play )

    audio.stop(1)

    myScene.sayHello()
    myScene.drawScene()


    myHero.sayHello()
    myHero.drawHero() 


    myGoomba.hello()
    myGoomba.drawBadGuy()


    myButtons.sayHello()
    myButtons.drawButtons()


    myGoomba.move()


    gameTheme = audio.loadStream("Music/playTheme.ogg")
    gameThemeChannel = audio.play( gameTheme, { channel=2, loops=-1, fadein=0 } )


    jumpButton:addEventListener("tap", myButtons.jump)
    backButton:addEventListener("tap", myButtons.goBack)



end



function mainmenu.sayHello()
    print("mainmenu - Hello....")
end


return mainmenu
坏蛋:

local badguy = {}

local Physics = require("physics")
Physics.start()






function badguy.hello()
    print("badguy - hello...")
end


function badguy.drawBadGuy()

    obstacle = {}

    obstacle[1] = display.newImage( "asteroid.png")
    obstacle[1].x = 300
    obstacle[1].y = 275 
    obstacle[1]:scale(.7, .7)
    Physics.addBody(obstacle[1], "dynamic", {radius = 20, bounce = 0})

    obstacle[2] = display.newImage( "asteroid.png")
    obstacle[2].x = 400
    obstacle[2].y = 275
    obstacle[2]:scale(.7, .7)
    Physics.addBody(obstacle[2], "dynamic", {radius = 20, bounce = 0})

    obstacle[3] = display.newImage( "asteroid.png")
    obstacle[3].x = 500
    obstacle[3].y = 275
    obstacle[3]:scale(.7, .7)
    Physics.addBody(obstacle[3], "dynamic", {radius = 20, bounce = 0})


end



function badguy.move()

--get badguy to spawn back at start after they cross a certain x value and
--game should restart upon contact  

    for i = 1, #obstacle, 1 do
        obstacle[i]:setLinearVelocity( -200, 0 )

            if (obstacle[i].x < 100) then
                print("if statement activated")

                obstacle[i]:setLinearVelocity( 0, 0 )
            end

    end
end




function badguy.sayHello()
    print("badguy - Hello....")
end


return badguy
localbadguy={}
本地物理=要求(“物理”)
物理开始
函数badguy.hello()
打印(“坏人-你好…”)
结束
函数badguy.draudguy()
障碍={}
障碍物[1]=display.newImage(“asteroid.png”)
障碍物[1]。x=300
障碍物[1],y=275
障碍物[1]:比例(.7,.7)
addBody(障碍物[1],“动态”{radius=20,bounce=0})
障碍物[2]=display.newImage(“asteroid.png”)
障碍物[2]。x=400
障碍物[2],y=275
障碍物[2]:比例(.7,.7)
addBody(障碍物[2],“动态的”{radius=20,bounce=0})
障碍物[3]=display.newImage(“asteroid.png”)
障碍物[3]。x=500
障碍物[3],y=275
障碍物[3]:比例(.7,.7)
addBody(障碍物[3],“动态的”{radius=20,bounce=0})
结束
函数badguy.move()
--让坏人在穿越某个x值后在开始时重新繁殖
--游戏应在接触后重新启动
当i=1时,障碍物为1
障碍物[i]:setLinearVelocity(-200,0)
如果(障碍物[i].x<100),则
打印(“如果语句已激活”)
障碍物[i]:setLinearVelocity(0,0)
结束
结束
结束
函数badguy.sayHello()
打印(“坏人-你好…”)
结束
反派

你到底有什么问题?我希望小行星精灵在玩家附近通过某个x值后在屏幕右侧重生。(基本上为小行星创造了重生功能)。我以为我在badguy.move()函数中使用了嵌套的if语句,但它不起作用……它不起作用,因为你只在播放器附近检测到小行星通过某个x值一次。尝试添加
Runtime:addEventListener(“enterFrame”,myGoomba.move)
而不是
myGoomba.move()
。还要记住删除
enterFrame
事件。在Corona上了解更多信息。你认为我可以通过电子邮件或任何其他形式的信息与你联系吗?我还有一些其他问题需要解决,我在Corona几乎是个初学者:(我也是个初学者。通过回答不同的问题,我试图提高我的技能并帮助他人:)我建议你把你的问题放在电晕上和/或读很多书。你到底有什么问题?我希望小行星精灵在玩家附近通过某个x值后在屏幕右侧重生。(基本上为小行星创造了重生功能)。我以为我在badguy.move()函数中使用了嵌套的if语句,但它不起作用……它不起作用,因为你只在播放器附近检测到小行星通过某个x值一次。尝试添加
Runtime:addEventListener(“enterFrame”,myGoomba.move)
而不是
myGoomba.move()
。还要记住删除
enterFrame
事件。在Corona上了解更多信息。你认为我可以通过电子邮件或任何其他形式的信息与你联系吗?我还有一些其他的问题需要解决,我在Corona是个初学者:(我也是个初学者。通过回答不同的问题,我试图提高我的技能并帮助他人:)我建议你把你的问题放到Corona上和/或读很多书。
local badguy = {}

local Physics = require("physics")
Physics.start()






function badguy.hello()
    print("badguy - hello...")
end


function badguy.drawBadGuy()

    obstacle = {}

    obstacle[1] = display.newImage( "asteroid.png")
    obstacle[1].x = 300
    obstacle[1].y = 275 
    obstacle[1]:scale(.7, .7)
    Physics.addBody(obstacle[1], "dynamic", {radius = 20, bounce = 0})

    obstacle[2] = display.newImage( "asteroid.png")
    obstacle[2].x = 400
    obstacle[2].y = 275
    obstacle[2]:scale(.7, .7)
    Physics.addBody(obstacle[2], "dynamic", {radius = 20, bounce = 0})

    obstacle[3] = display.newImage( "asteroid.png")
    obstacle[3].x = 500
    obstacle[3].y = 275
    obstacle[3]:scale(.7, .7)
    Physics.addBody(obstacle[3], "dynamic", {radius = 20, bounce = 0})


end



function badguy.move()

--get badguy to spawn back at start after they cross a certain x value and
--game should restart upon contact  

    for i = 1, #obstacle, 1 do
        obstacle[i]:setLinearVelocity( -200, 0 )

            if (obstacle[i].x < 100) then
                print("if statement activated")

                obstacle[i]:setLinearVelocity( 0, 0 )
            end

    end
end




function badguy.sayHello()
    print("badguy - Hello....")
end


return badguy