I dont see player1.x as a variable only player1x so I think that is your problem try it.
I am getting this error in my script (See Pic).But have no idea how to fix it. Can someone help me out with this
Line 141 is in bold
-- Created by splodger15
----------detect other cars collision--------------
function detectCollision(player, opponent)
if (player.x + character:width() > opponent.x) and (player.x < opponent.x + opponent.pic:width()) and (player.y + character:height() > opponent.y) and (player.y < opponent.y + opponent.pic:height()) then
screen.waitVblankStart(60)
score = score - 1
end
end
Room_width = 480
Room_height = 272
player1x = 15
player1y = 136
road=Image.load("images/road.PNG")
background=road
car1=Image.load("images/car1.PNG")
player1=car1
car2=Image.load("images/car2.PNG")
car3=Image.load("images/car3.PNG")
car4=Image.load("images/car4.PNG")
score = 0
screenrint(2,2,score)
---------walls------------
wall1 = Image.createEmpty(480,2)
wall2 = Image.createEmpty(2,272)
wall3 = Image.createEmpty(2,272)
wall4 = Image.createEmpty(480,2)
wall1 = {x = 0, y = 0, height = wall1:height(), width = wall1:width() }
wall2 = {x = 450, y = 0, height = wall2:height(), width = wall2:width() }
wall3 = {x = 0, y = 0, height = wall3:height(), width = wall3:width() }
wall4 = {x = 0, y = 299, height = wall4:height(), width = wall4:width() }
player = {}
player.x = 25
player.y = 100
playerHeight = 63
playerWidth = 33
car2 = {}
car2.x = 128
car2.y = 90
car2Height = 63
car2Width = 33
car2.pic = Image.load("images/car2.PNG")
car3 = {}
car3.x = 228
car3.y = 90
car3Height = 63
car3Width = 33
car3.pic = Image.load("images/car3.PNG")
car4 = {}
car4.x = 28
car4.y = 20
car4Height = 63
car4Width = 33
car4.pic = Image.load("images/car4.PNG")
character = car1
------------------player sprite loading--------------
function rands1()
rand2 = math.random(1,3)
end
function rands2()
rand3 = math.random(1,3)
end
function rands3()
rand4 = math.random(1,3)
end
XScrollPosition = 480
numberOfScrolls = 0
while true do
math.randomseed(os.time() )
rand=math.random(1,3)
random1 =math.random(20,115)
random2 =math.random(90,195)
random3 =math.random(192,225)
pad = Controls.read()
screen:clear()
oldx = player.x
oldy = player.y
screen:clear()
if pad:left() then
character = car1
player.x = player.x - 2
end
if pad:right() then
character = car1
XScrollPosition = XScrollPosition - 10
if XScrollPosition < 0 then
XScrollPosition = XScrollPosition + 480
numberOfScrolls = numberOfScrolls + 1
end
end
if pad:up() then
character = car1
player.y = player.y - 2
end
if pad:down() then
character = car1
player.y = player.y + 2
end
if pad:triangle() then
dofile("map.lua")
end
if pad:square() then
Image:save("screenshot.png")
end
if pad:start() then
break
end
if player1.x >= 20 and car2.x <=10 then
score = score +1
end
if rand ==1 then
car2.x = car2.x -5
car3.x = car3.x-5
car4.x = car3.x-5
end
if rand ==2 then
car2.x = car2.x -5
car3.x = car3.x-5
car4.x = car3.x-5
end
if rand ==3 then
car2.x = car2.x -5
car3.x = car3.x-5
car4.x = car3.x-5
end
if car2.x <=0 then
car2.x =510
car2.y = random1
rands1()
end
if car3.x <=0 then
car3.x = 520
car3.y = random2
rands2()
end
if car4.x <=0 then
car4.x = 500
car4.y = random3
rands3()
end
screen:clear()
screen:blit(XScrollPosition, 0, road)
if XScrollPosition > 0 then
screen:blit(XScrollPosition - 480, 0, road)
else
screen:blit(XScrollPosition + 480, 0, road)
end
if numberOfScrolls > 30 then
dofile("eol.lua")
end
if player.x > 448 then
Player.x = 448
end
if player.x < 0 then
player.x = 0
end
if player.y > 240 then
player.y = 240
end
if player.y < 0 then
player.y = 0
end
detectCollision(player, car2)
detectCollision(player, car3)
detectCollision(player, car4)
-----------blit background and player------------
screen:blit(player.x, player.y, character)
screen:blit(car2.x, car2.y, car2.pic)
screen:blit(car3.x, car3.y, car3.pic)
screen:blit(car4.x, car4.y, car4.pic)
screen.flip()
screen.waitVblankStart()
end
PSN ID: splodger15
I dont see player1.x as a variable only player1x so I think that is your problem try it.
I just looked this over real quick because I’m busy at the moment. But from what I can see you need to define your player1.x as
player1 = {}
player1.x = #
player1.y = #
Oh something I just noticed, your
player1x = 15
player1y = 136
Does not have a " . " in between the 1 and the x or the 1 and the y.
Should be like this…
Player1.x = 15
Player1.y = 136
PS. Gizmo - player1.x or player1x are both correct ways to do it, doesn't matter which one you use even though I prefer the player1x
Oo Cool Jman I didn't even know that lol thnx for the tip.
Thank you Jman that fixed that error
Thanks again :thumbup: :thumbup:
PSN ID: splodger15
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks