背景移動
動畫效果
聲音效果
文字顏色
display.setStatusBar( display.HiddenStatusBar )
local physics = require( "physics" )
local movieclip = require("movieclip")
physics.start()
--physics.setDrawMode( "hybrid" )
--physics.setDrawMode( "debug" )
physics.setGravity( 0, 10 )
math.randomseed(os.time())
local backgroundmusic=audio.loadStream("images/s1.wav")
score1=0
local bg1 = display.newImageRect("images/bg.jpg" ,320,480 )
local bg2 = display.newImageRect("images/bg.jpg" ,320,480 )
local bg3 = display.newImageRect("images/bg.jpg" ,320,480 )
bg1.x = 160
bg1.y = 240
bg2.x = 160
bg2.y = -240
bg3.x = 160
bg3.y = -720
bg1.speed = 5
bg2.speed = 5
bg3.speed = 5
function bgmove(self,event)
self.y = self.y + self.speed
if self.y == 820 then
self.y = -620
end
end
bg1.enterFrame = bgmove
Runtime:addEventListener("enterFrame", bg1)
bg2.enterFrame = bgmove
Runtime:addEventListener("enterFrame", bg2)
bg3.enterFrame = bgmove
Runtime:addEventListener("enterFrame", bg3)
--分數
local score = display.newText("Score : ",150,22,system.nativeFont,20)
local score5 = display.newText(score1,200,22,system.nativeFont,20)
score:setFillColor( 1, 0, 1)
score5:setFillColor( 1, 0, 1)
---------------------------
-- Shapes
---------------------------
local shape_1 = { 1,-33, 27,-19, 31,14, 10,32, -17,29, -31,9, -28,-15, -13,-27 }
shape_1.density = 1; shape_1.friction = 0.3; shape_1.bounce = 0.2;
local dispObj_2 = display.newImageRect( "images/ground.png", 400, 60 )
dispObj_2.x = 167
dispObj_2.y = 495
physics.addBody( dispObj_2, "static", { density=1, friction=0.3, bounce=0.2 } )
local function produceBall(event)
local dispObj_4 = display.newImageRect( "images/ball.png", 77, 77 )
dispObj_4.x = 163 + math.random( 100 )
dispObj_4.y = 252 - math.random( 100 )
physics.addBody( dispObj_4,
{density=shape_1.density, friction=shape_1.friction, bounce=shape_1.bounce, shape=shape_1}
)
local onTouch = function(event)
audio.play(backgroundmusic,{channel=1,loops=1})
audio.setVolume(0.2,{channel=1})
score1 = score1 + 5
score5.text =score1
Forest = movieclip.newAnim({"images/explode1.png","images/explode2.png","images/explode3.png","images/explode4.png","images/explode5.png","images/explode6.png","images/explode7.png","images/explode8.png","images/explode9.png"})
Forest:play({startFrame=1,endFrame=9,loop=1,remove=true})
Forest.x,Forest.y = dispObj_4.x,dispObj_4.y
Forest.width,Forest.height=100,100
Forest:setDrag{drag=false}
dispObj_4:removeSelf()
dispObj_4 = nil
end
dispObj_4:addEventListener("touch", onTouch)
--local function produceBall2(event)
local dispObj_2 = display.newImageRect( "images/crate.png", 70, 70 )
dispObj_2.x = 167
dispObj_2.y = 260
physics.addBody( dispObj_2, { density=1, friction=0.3, bounce=0.2 } )
local onTouch = function(event)
score1 = score1 + 10
score5.text =score1
dispObj_2:removeSelf()
dispObj_2 = nil
end
dispObj_2:addEventListener("touch", onTouch)
--end
end
timer.performWithDelay( 1000, produceBall,-1)
-- for i=1,50 do
-- produceBall()
-- produceBall2()
-- end