试图用一些比较游戏为零 [英] Attempt to compare nil with number in game
问题描述
嘿,大家好我要完成我的比赛我是一个独立开发者及ii我试图完成电晕SDK我的应用程序和我不断收到这个恼人的错误信息。该消息得到的是尝试用数字restart.lua 9比较无我没有线索如何解决这个问题我尝试每一件事情,但没有任何工程。当我运行我的code和我死了,第一次和重新启动游戏它的工作不错,但第二次的球员死了,我尝试重新启动游戏,我收到此错误信息。这是code
好吧,我想清楚这一点,所以我要发布我的洞code在比赛还有2文件,以便你们能理解我要在。
----------------------------------------------- ------------------------------------------
- 的main.lua
---当地的标题栏=没有标题栏
- requirs物理
--variable来保存我们的游戏得分
当地分数= 0
本地物理=需要物理
physics.start()
要求精灵
当地的故事情节=要求(故事板)
地方场面= storyboard.newScene()
功能情景:createScene(事件)
当地screenGroup = self.view
- 背景
当地背景= display.newImage(background01.png)
screenGroup:插入(背景)
- 当地的背景= display.newImageRect(background01.png,570,360)
--ship = display.newImage(帝国2.png)
TOP1 = display.newImage(invisable tile.png)
TOP1:setReferencePoint(display.BottomLeftReferencePoint)
top1.x = 0
top1.y = -200
physics.addBody(TOP1,静,{密度= 0.1,反弹= 0.1,摩擦= 0.2})
screenGroup:插入(TOP1)
TOP2 = display.newImage(invisable tile.png)
TOP2:setReferencePoint(display.BottomLeftReferencePoint)
top2.x = 0
top2.y = 400
physics.addBody(TOP2,静,{密度= 0.1,反弹= 0.1,摩擦= 0.2})
screenGroup:插入(TOP2)
月亮= display.newImage(moon.png)
月亮:setReferencePoint(display.BottomLeftReferencePoint)
moon.x = 400
moon.y = 100
moon.speed = 4
screenGroup:插入(明月)
moon2 = display.newImage(moon.png)
moon2:setReferencePoint(display.BottomLeftReferencePoint)
moon2.x = 1090
moon2.y = 100
moon2.speed = 4
screenGroup:插入(moon2)
- 此副本的下一个滚动secne --empire应该改变varable
empire3 = display.newImage(empire1.png)
empire3:setReferencePoint(display.BottomLeftReferencePoint)
empire3.x = 1400
empire3.y = 450
empire3.speed = 7
screenGroup:插入(empire3)
- 当地empire2 = display.newImage(帝国2.png)
- empire2:setReferencePoint(display.BottomLeftReferencePoint)
- empire2.x = 400
- empire2.y = 400
- empire2.speed = 10
- 当地empire4 = display.newImage(帝国2.png) - 帝国2副本
- empire4:setReferencePoint(display.BottomLeftReferencePoint)
--empire4.x = 1090
- empire4.y = 400
- empire4.speed = 10
- 此副本的下一个滚动secne
empire1 = display.newImage(empire1.png)
empire1:setReferencePoint(display.BottomLeftReferencePoint)
empire1.x = 570
empire1.y = 450
empire1.speed = 7
screenGroup:插入(empire1)
jetSpriteSheet = sprite.newSpriteSheet(jet11.png,50,17)
jetSprites = sprite.newSpriteSet(jetSpriteSheet,1,4)
sprite.add(jetSprites,喷气机,1,4,5000,0) - 定时器
喷气= sprite.newSprite(jetSprites)
jet.y = 40
jet.x = -80
飞机:prepare(喷气机)
jet.collided = FALSE
飞机:玩()
physics.addBody(喷气,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(喷气)
jetIntro = transition.to(喷气,{时间= 6000,X = 100,的onComplete = jetReady})
explosionSpriteSheet = sprite.newSpriteSheet(explosion.png,24,23)
explosionSprites = sprite.newSpriteSet(explosionSpriteSheet,1,8)
sprite.add(explosionSprites,爆炸,1,8,2000,1)
爆炸= sprite.newSprite(explosionSprites)
explosion.x = 100
explosion.y = 100
爆炸:prepare(爆炸)
爆炸:播放()
explosion.isVisible = FALSE
- physics.addBody(喷气,动态,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(爆炸)
mine1 = display.newImage(rocket01.png)
mine1.x = 500
mine1.y = 200
mine1.speed =的Math.random(2,6)
- mine1.initY = mine1.y
- mine1.amp =的Math.random(20100)
- mine1.angle =的Math.random(1,360)
physics.addBody(mine1,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(mine1)
mine2 = display.newImage(missles.png)
mine2.y = 100 - 的Math.random(1,100)
mine2.x = 1090
mine2.speed =的Math.random(2,6)
- mine2.amp =的Math.random(2,6)
--mine2.initY = mine2.y
physics.addBody(mine2,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(mine2)
mine3 = display.newImage(missles.png)
mine3.y = 100
mine3.x = 500
mine3.speed =的Math.random(2,6)
- mine3.initY = mine1.y
- mine3.amp =的Math.random(20100)
mine3.angle =的Math.random(1,360)
physics.addBody(mine3,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(mine3)
mine4 = display.newImage(rocket01.png)
mine4.y = 100
mine4.x = 500
mine4.speed =的Math.random(2,6)
- mine3.initY = mine1.y
- mine3.amp =的Math.random(20100)
mine3.angle =的Math.random(1,360)
screenGroup:插入(mine4)
physics.addBody(mine4,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(mine4)
coin04 = display.newImage(coin04.png)
coin04.y = 100
coin04.x = 500
coin04.speed =的Math.random(2,6)
coin04.initY = mine1.y
coin04.amp =的Math.random(20100)
coin04.angle =的Math.random(1,360)
physics.addBody(coin04,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(coin04)
rocket02 = display.newImage(rocket02.png)
rocket02.y = 100
rocket02.x = 500
rocket02.speed =的Math.random(2,6)
rocket02.initY = mine1.y
rocket02.amp =的Math.random(20100)
rocket02.angle =的Math.random(1,360)
physics.addBody(rocket02,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(rocket02)
rocket03 = display.newImage(rocket02.png)
rocket03.y = 100
rocket03.x = 500
rocket03.speed =的Math.random(2,6)
rocket03.initY = mine1.y
rocket03.amp =的Math.random(20100)
rocket03.angle =的Math.random(1,360)
physics.addBody(rocket03,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(rocket03)
rocket04 = display.newImage(rocket02.png)
rocket04.y = 100
rocket04.x = 500
rocket04.speed =的Math.random(2,6)
rocket04.initY = mine1.y
rocket04.amp =的Math.random(20100)
rocket04.angle =的Math.random(1,360)
physics.addBody(rocket04,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(rocket04)
ball01 = display.newImage(ball01.png)
ball01.y = 100
ball01.x = 500
ball01.speed =的Math.random(2,6)
ball01.initY = mine1.y
ball01.amp =的Math.random(20100)
ball01.angle =的Math.random(1,360)
旋转= 2
physics.addBody(ball01,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(ball01)
ball02 = display.newImage(ball01.png)
ball02.y = 100
ball02.x = 500
ball02.speed =的Math.random(2,6)
ball02.initY = mine1.y
ball02.amp =的Math.random(20100)
ball02.angle =的Math.random(1,360)
旋转= 2
physics.addBody(ball02,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(ball02)
ball03 = display.newImage(ball02.png)
ball03.y = 100
ball03.x = 500
ball03.speed =的Math.random(2,6)
--ball03.initY = mine1.y
- ball03.amp =的Math.random(20100)
ball03.angle =的Math.random(1,360)
旋转= 2
physics.addBody(ball03,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(ball03)
ball04 = display.newImage(ball02.png)
ball04.y = 100
ball04.x = 500
ball04.speed =的Math.random(2,6)
ball04.initY = mine1.y
ball04.amp =的Math.random(20100)
ball04.angle =的Math.random(1,360)
旋转= 2
physics.addBody(ball04,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(ball04)
coin01 = display.newImage(coin02.png)
coin01.y = 100
coin01.x = 500
coin01.speed =的Math.random(2,6)
coin01.initY = mine1.y
coin01.amp =的Math.random(20100)
coin01.angle =的Math.random(1,360)
physics.addBody(coin01,静,{密度= 0.1,反弹= 0.1,摩擦= 2,半径= 12})
screenGroup:插入(coin01)
scoreText = display.newText(人评分:..评分,0,0,showcardgothic,14)
scoreText:setTextColor(225225225)
scoreText.x = 10
scoreText.y = 20
screenGroup:插入(scoreText)
暂停= display.newImage(pause.png)
pause.x = 480
pause.y = 289
screenGroup:插入(暂停)
结束 - 创建场景结束
本地函数scoreUpdate()
得分=得分+10
scoreText.text =分数:..得分
--- scoreText:setTextColor(225225225)
- scoreText:setReferencePoint(display.CenterLeftReferencePoint)
scoreText.x = 10
scoreText.y = 20
结束
定时器1 = timer.performWithDelay(1000,scoreUpdate, - 1)
功能pause01(事件)
如果event.phase ==开始,然后
--print喜
功能jetReady()
jet.bodyType =静态
结束
storyboard.gotoScene(暂停菜单,淡入淡出,400)
结果= timer.pause(定时器1)
打印(剩余时间)
结束
结束
这code是低于大胆是code多数民众赞成让问题希望你们能告诉我什么是错。
***印刷通过***
***功能scrollSpace(个体经营,事件)
如果self.x< -900那么
self.x = 800
其他
self.x = self.x - self.speed
结束
结束***
本地函数moveMines(个体经营,事件)
如果self.x< -900那么
self.x = 489 --800
self.y =的Math.random(90220)
self.x = 500
self.speed =的Math.random(2,6)
- self.amp =的Math.random(20100)
- self.angle =的Math.random(1,360)
其他
self.x = self.x - self.speed
- self.angle = self.angle + .1
- self.y = self.amp * math.sin(self.angle)+ self.initY
结束
结束
本地函数币(自我,事件)
如果self.x< -900那么
self.x = 800
self.y =的Math.random(90,100)
self.x = 500
self.speed =的Math.random(2,6)
self.amp =的Math.random(20100)
self.angle =的Math.random(1,360)
其他
self.x = self.x - self.speed
self.angle = self.angle + .1
self.y = self.amp * math.sin(self.angle)+ self.initY
结束
结束
- moveMissile1
功能jetReady()
jet.bodyType =动态
结束
功能activateJets(个体经营,事件)
自:applyForce(0,-1.5,self.x,self.y)
结束
功能触摸屏(事件)
--print(触摸)
如果event.phase ==开始,然后
jet.enterFrame = activateJets
运行时间:调用addEventListener(一个enterFrame,喷)
结束
如果event.phase ==结束,那么
--print(结束)
运行时间:removeEventListener(一个enterFrame,喷)
结束
结束
功能GAMEOVER()
storyboard.gotoScene(重新启动,变脸,400)
结束
函数explode()
explosion.x = jet.x
explosion.y = jet.y
explosion.isVisible =真
爆炸:播放()
jet.isVisible = FALSE
timer.performWithDelay(3000,GAMEOVER,1)
结束
功能onCollision(事件)
如果event.phase ==开始,然后
如果jet.collided == false,那么
jet.collided =真
jet.bodyType =静态
结果= timer.pause(定时器1)
爆炸()
--storyboard.gotoScene(重新启动,变脸,400)
结束
结束
结束
功能情景:enterScene(事件)
moon.enterFrame = scrollSpace
运行时间:调用addEventListener(一个enterFrame,月亮)
暂停:的addEventListener(接触,pause01)
empire3.enterFrame = scrollSpace
运行时间:调用addEventListener(一个enterFrame,empire3)
moon2.enterFrame = scrollSpace
运行时间:调用addEventListener(一个enterFrame,moon2)
mine1.enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,mine1)
mine2.enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,mine2)
mine3.enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,mine3)
mine4.enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,mine4)
rocket02 .enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,rocket02)
coin04.enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,coin04)
coin01.enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,coin01)
rocket03 .enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,rocket03)
rocket04 .enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,rocket04)
ball01 .enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,ball01)
ball02 .enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,ball02)
ball03 .enterFrame = moveMines
运行时间:调用addEventListener(一个enterFrame,ball03)
ball04 .enterFrame =硬币
运行时间:调用addEventListener(一个enterFrame,ball04)
- empire2.enterFrame = scrollSpace
--Runtime:的addEventListener(一个enterFrame,empire2)
- empire4.enterFrame = scrollSpace
- 运行时:的addEventListener(一个enterFrame,empire4)
empire1.enterFrame = scrollSpace
运行时间:调用addEventListener(一个enterFrame,empire1)
运行时间:调用addEventListener(摸,触摸屏)
运行时间:调用addEventListener(碰撞,onCollision)
结束
功能情景:exitScene(事件)
运行时间:removeEventListener(摸,触摸屏)
运行时间:removeEventListener(一个enterFrame,月亮)
运行时间:removeEventListener(一个enterFrame,empire3)
运行时间:removeEventListener(一个enterFrame,moon2)
运行时间:removeEventListener(一个enterFrame,mine1)
运行时间:removeEventListener(一个enterFrame,mine2)
运行时间:removeEventListener(一个enterFrame,mine3)
运行时间:removeEventListener(一个enterFrame,mine4)
运行时间:removeEventListener(一个enterFrame,coin04)
运行时间:removeEventListener(一个enterFrame,coin01)
运行时间:removeEventListener(一个enterFrame,empire1)
运行时间:removeEventListener(碰撞,onCollision)
运行时间:removeEventListener(一个enterFrame,rocket02)
结束
功能情景:destroyScene(事件)
结束
场景:的addEventListener(createScene,场景)
场景:的addEventListener(enterScene,场景)
场景:的addEventListener(exitScene,场景)
场景:的addEventListener(destroyScene,场景)
返回现场
显然,self.x不存在。请确保您初始化前的地方,比较在行9.我认为你是幸运的,这类漏洞通常是容易解决的。
如果您仍然无法搞清楚,张贴在那里你先初始化self.x,可能会是你错过了。
hey guys i am about to finish my game i am a indie developer and i i am trying to finish my app in corona sdk and i keep getting this annoying error message. The message is get is "Attempt to compare nil with number restart.lua 9 " i don't have a clue how to fix this i try every thing but nothing works. when i run my code and i die for the first time and restart the game it work fine but the second time the player die ,and i try to restart the game i get this error message. this is the code
okay i want to be clear about this so i am going to post my hole code in the game 2 file so you guys can understand what i am going at.
-----------------------------------------------------------------------------------------
-- main.lua
---local titlebar = "no title bar"
-- requirs physics
--variable to hold our game's score
local score = 0
local physics = require "physics"
physics.start()
require "sprite"
local storyboard = require("storyboard")
local scene = storyboard.newScene()
function scene:createScene(event)
local screenGroup = self.view
-- background
local background = display.newImage("background01.png")
screenGroup:insert(background)
-- local background = display.newImageRect( "background01.png", 570, 360 )
--ship =display.newImage("empire 2.png")
top1 = display.newImage("invisable tile.png")
top1:setReferencePoint(display.BottomLeftReferencePoint)
top1.x=0
top1.y= -200
physics.addBody(top1, "static", {density=.1,bounce=0.1, friction=.2})
screenGroup:insert(top1)
top2 = display.newImage("invisable tile.png")
top2:setReferencePoint(display.BottomLeftReferencePoint)
top2.x =0
top2.y= 400
physics.addBody(top2, "static", {density=.1,bounce=0.1, friction=.2})
screenGroup:insert(top2)
moon = display.newImage("moon.png")
moon:setReferencePoint(display.BottomLeftReferencePoint)
moon.x =400
moon.y=100
moon.speed = 4
screenGroup:insert(moon)
moon2 = display.newImage("moon.png")
moon2: setReferencePoint(display.BottomLeftReferencePoint)
moon2.x =1090
moon2.y=100
moon2.speed = 4
screenGroup:insert(moon2)
-- this copy to the next scroll secne --empire should be change varable
empire3 = display.newImage("empire1.png")
empire3: setReferencePoint(display.BottomLeftReferencePoint)
empire3.x =1400
empire3.y=450
empire3.speed = 7
screenGroup:insert(empire3)
-- local empire2 = display.newImage("empire 2.png")
-- empire2: setReferencePoint(display.BottomLeftReferencePoint)
-- empire2.x = 400
-- empire2.y= 400
-- empire2.speed = 10
-- local empire4 = display.newImage("empire 2.png") -- copy of empire 2
-- empire4: setReferencePoint(display.BottomLeftReferencePoint)
--empire4.x = 1090
-- empire4.y= 400
-- empire4.speed = 10
-- this copy to the next scroll secne
empire1 =display.newImage("empire1.png")
empire1: setReferencePoint(display.BottomLeftReferencePoint)
empire1.x =570
empire1.y= 450
empire1.speed = 7
screenGroup:insert(empire1)
jetSpriteSheet = sprite.newSpriteSheet("jet11.png",50,17)
jetSprites = sprite.newSpriteSet(jetSpriteSheet,1,4)
sprite.add(jetSprites,"jets",1,4,5000,0)-- timer
jet=sprite.newSprite(jetSprites)
jet.y = 40
jet.x = -80
jet:prepare("jets")
jet.collided = false
jet:play()
physics.addBody(jet, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(jet)
jetIntro = transition.to(jet,{time=6000, x=100, onComplete=jetReady})
explosionSpriteSheet = sprite.newSpriteSheet("explosion.png", 24, 23)
explosionSprites = sprite.newSpriteSet(explosionSpriteSheet, 1, 8)
sprite.add(explosionSprites, "explosions", 1, 8, 2000, 1)
explosion = sprite.newSprite(explosionSprites)
explosion.x = 100
explosion.y = 100
explosion:prepare("explosions")
explosion:play()
explosion.isVisible = false
-- physics.addBody(jet, "dynamic", {density=.1, bounce=0.1, friction=.2, radius=12})
screenGroup:insert(explosion)
mine1 = display.newImage("rocket01.png")
mine1.x = 500
mine1.y = 200
mine1.speed = math.random(2,6)
-- mine1.initY = mine1.y
-- mine1.amp = math.random(20,100)
-- mine1.angle = math.random(1,360)
physics.addBody(mine1, "static", {density=.1, bounce=0.1, friction=.2, radius=12})
screenGroup:insert(mine1)
mine2 = display.newImage("missles.png")
mine2.y = 100--math.random (1,100)
mine2.x = 1090
mine2.speed = math.random(2,6)
-- mine2.amp = math.random(2,6)
--mine2.initY = mine2.y
physics.addBody(mine2, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(mine2)
mine3 = display.newImage("missles.png")
mine3.y = 100
mine3.x = 500
mine3.speed = math.random(2,6)
-- mine3.initY = mine1.y
-- mine3.amp = math.random(20,100)
mine3.angle = math.random(1,360)
physics.addBody(mine3, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(mine3)
mine4 = display.newImage("rocket01.png")
mine4.y = 100
mine4.x = 500
mine4.speed = math.random(2,6)
-- mine3.initY = mine1.y
-- mine3.amp = math.random(20,100)
mine3.angle = math.random(1,360)
screenGroup:insert(mine4)
physics.addBody(mine4, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(mine4)
coin04 = display.newImage("coin04.png")
coin04.y = 100
coin04.x = 500
coin04.speed = math.random(2,6)
coin04.initY = mine1.y
coin04.amp = math.random(20,100)
coin04.angle = math.random(1,360)
physics.addBody(coin04, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(coin04)
rocket02 = display.newImage("rocket02.png")
rocket02.y = 100
rocket02.x = 500
rocket02.speed = math.random(2,6)
rocket02.initY = mine1.y
rocket02.amp = math.random(20,100)
rocket02.angle = math.random(1,360)
physics.addBody(rocket02, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(rocket02)
rocket03 = display.newImage("rocket02.png")
rocket03.y = 100
rocket03.x = 500
rocket03.speed = math.random(2,6)
rocket03.initY = mine1.y
rocket03.amp = math.random(20,100)
rocket03.angle = math.random(1,360)
physics.addBody(rocket03, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(rocket03)
rocket04 = display.newImage("rocket02.png")
rocket04.y = 100
rocket04.x = 500
rocket04.speed = math.random(2,6)
rocket04.initY = mine1.y
rocket04.amp = math.random(20,100)
rocket04.angle = math.random(1,360)
physics.addBody(rocket04, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(rocket04)
ball01 = display.newImage("ball01.png")
ball01.y = 100
ball01.x = 500
ball01.speed = math.random(2,6)
ball01.initY = mine1.y
ball01.amp = math.random(20,100)
ball01.angle = math.random(1,360)
rotation = 2
physics.addBody(ball01, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(ball01)
ball02 = display.newImage("ball01.png")
ball02.y = 100
ball02.x = 500
ball02.speed = math.random(2,6)
ball02.initY = mine1.y
ball02.amp = math.random(20,100)
ball02.angle = math.random(1,360)
rotation = 2
physics.addBody(ball02, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(ball02)
ball03 = display.newImage("ball02.png")
ball03.y = 100
ball03.x = 500
ball03.speed = math.random(2,6)
--ball03.initY = mine1.y
-- ball03.amp = math.random(20,100)
ball03.angle = math.random(1,360)
rotation = 2
physics.addBody(ball03, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(ball03)
ball04 = display.newImage("ball02.png")
ball04.y = 100
ball04.x = 500
ball04.speed = math.random(2,6)
ball04.initY = mine1.y
ball04.amp = math.random(20,100)
ball04.angle = math.random(1,360)
rotation = 2
physics.addBody(ball04, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(ball04)
coin01 = display.newImage("coin02.png")
coin01.y = 100
coin01.x = 500
coin01.speed = math.random(2,6)
coin01.initY = mine1.y
coin01.amp = math.random(20,100)
coin01.angle = math.random(1,360)
physics.addBody(coin01, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
screenGroup:insert(coin01)
scoreText = display.newText("score: " .. score, 0, 0, "showcardgothic", 14)
scoreText:setTextColor(225,225,225)
scoreText.x = 10
scoreText.y = 20
screenGroup:insert(scoreText)
pause = display.newImage("pause.png")
pause.x = 480
pause.y = 289
screenGroup:insert(pause)
end -- end of create scene
local function scoreUpdate()
score =score +10
scoreText.text = "score:"..score
---scoreText:setTextColor(225,225,225)
-- scoreText:setReferencePoint(display.CenterLeftReferencePoint)
scoreText.x = 10
scoreText.y =20
end
timer1 = timer.performWithDelay( 1000, scoreUpdate, - 1 )
function pause01 (event)
if event.phase =="began" then
--print "hi"
function jetReady()
jet.bodyType = "static"
end
storyboard.gotoScene("pause menu","crossFade",400)
result = timer.pause( timer1 )
print( "Time remaining is ")
end
end
this code that is below that is bold is the code that's giving problem hope you guys can tell me whats wrong..
***print "passed"***
***function scrollSpace(self,event)
if self.x < -900 then
self.x = 800
else
self.x = self.x - self.speed
end
end***
local function moveMines(self,event)
if self.x < -900 then
self.x = 489 --800
self.y = math.random(90,220)
self.x = 500
self.speed = math.random(2,6)
-- self.amp = math.random(20,100)
-- self.angle = math.random(1,360)
else
self.x = self.x - self.speed
-- self.angle = self.angle + .1
-- self.y = self.amp * math.sin(self.angle)+ self.initY
end
end
local function coins(self,event)
if self.x < -900 then
self.x = 800
self.y = math.random(90,100)
self.x = 500
self.speed = math.random(2,6)
self.amp = math.random(20,100)
self.angle = math.random(1,360)
else
self.x = self.x - self.speed
self.angle = self.angle + .1
self.y = self.amp * math.sin(self.angle)+ self.initY
end
end
-- moveMissile1
function jetReady()
jet.bodyType = "dynamic"
end
function activateJets(self,event)
self:applyForce(0,-1.5,self.x,self.y)
end
function touchScreen(event)
--print("touch")
if event.phase == "began"then
jet.enterFrame = activateJets
Runtime:addEventListener ("enterFrame",jet)
end
if event.phase == "ended"then
--print ("ended")
Runtime:removeEventListener ("enterFrame",jet)
end
end
function gameOver()
storyboard.gotoScene("restart", "fade", 400)
end
function explode()
explosion.x = jet.x
explosion.y = jet.y
explosion.isVisible = true
explosion:play()
jet.isVisible = false
timer.performWithDelay(3000, gameOver, 1)
end
function onCollision(event)
if event.phase == "began" then
if jet.collided == false then
jet.collided = true
jet.bodyType = "static"
result = timer.pause(timer1 )
explode()
--storyboard.gotoScene("restart", "fade", 400)
end
end
end
function scene:enterScene(event)
moon.enterFrame = scrollSpace
Runtime:addEventListener ("enterFrame",moon)
pause:addEventListener("touch",pause01)
empire3.enterFrame = scrollSpace
Runtime:addEventListener ("enterFrame",empire3)
moon2.enterFrame = scrollSpace
Runtime:addEventListener ("enterFrame",moon2)
mine1.enterFrame = moveMines
Runtime:addEventListener ("enterFrame",mine1)
mine2.enterFrame = moveMines
Runtime:addEventListener ("enterFrame",mine2)
mine3.enterFrame = moveMines
Runtime:addEventListener ("enterFrame",mine3)
mine4.enterFrame = moveMines
Runtime:addEventListener ("enterFrame",mine4)
rocket02 .enterFrame = coins
Runtime:addEventListener ("enterFrame",rocket02)
coin04.enterFrame = coins
Runtime:addEventListener ("enterFrame",coin04)
coin01.enterFrame = coins
Runtime:addEventListener ("enterFrame",coin01)
rocket03 .enterFrame = coins
Runtime:addEventListener ("enterFrame",rocket03)
rocket04 .enterFrame = moveMines
Runtime:addEventListener ("enterFrame",rocket04)
ball01 .enterFrame = coins
Runtime:addEventListener ("enterFrame",ball01)
ball02 .enterFrame = coins
Runtime:addEventListener ("enterFrame",ball02)
ball03 .enterFrame = moveMines
Runtime:addEventListener ("enterFrame",ball03)
ball04 .enterFrame = coins
Runtime:addEventListener ("enterFrame",ball04)
-- empire2.enterFrame = scrollSpace
--Runtime:addEventListener ("enterFrame",empire2)
-- empire4.enterFrame = scrollSpace
-- Runtime:addEventListener ("enterFrame",empire4)
empire1.enterFrame = scrollSpace
Runtime:addEventListener ("enterFrame",empire1)
Runtime:addEventListener("touch",touchScreen)
Runtime:addEventListener("collision",onCollision)
end
function scene:exitScene(event)
Runtime:removeEventListener("touch",touchScreen)
Runtime:removeEventListener ("enterFrame",moon)
Runtime:removeEventListener ("enterFrame",empire3)
Runtime:removeEventListener ("enterFrame",moon2)
Runtime:removeEventListener ("enterFrame",mine1)
Runtime:removeEventListener ("enterFrame",mine2)
Runtime:removeEventListener ("enterFrame",mine3)
Runtime:removeEventListener ("enterFrame",mine4)
Runtime:removeEventListener ("enterFrame",coin04)
Runtime:removeEventListener ("enterFrame",coin01)
Runtime:removeEventListener ("enterFrame",empire1)
Runtime:removeEventListener("collision",onCollision)
Runtime: removeEventListener ("enterFrame",rocket02)
end
function scene:destroyScene(event)
end
scene:addEventListener("createScene",scene)
scene:addEventListener("enterScene",scene)
scene:addEventListener("exitScene",scene)
scene:addEventListener("destroyScene",scene)
return scene
Apparently, self.x doesn't exist. Make sure that you initialize it somewhere before that compare at line 9. I think you are lucky, these kinds of bugs are usually solved easily..
If you still can't figure it out, post where you first initialize self.x, could be something you are missing.
这篇关于试图用一些比较游戏为零的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!