--[[南阳草庐软件科技有限公司 hi.baidu.com/xingyan126 ]] waxClass{"AppDelegate", protocols = {"UIApplicationDelegate"}} -- Well done! You are almost ready to run a lua app on your iPhone! -- -- Just run the app (⌘↵) in the simulator or on a device! -- You will see a dull, bland "hello world" app (it is your job to spice it up.) -- -- If your prefer using TextMate to edit the Lua code just type -- 'rake tm' from the command line to setup a wax TextMate project. -- -- What's next? -- 1. Check out some of the example apps to learn how to do -- more complicated apps. -- 2. Then you start writing your app! -- 3. Let us know if you need any help at http://groups.google.com/group/iphonewax local tbDef = { ['stair_normal'] = { 0, 0 , 60, 18}, ['stair_moveH'] = { 0, 18, 60, 36}, ['stair_moveV'] = { 0, 36, 60, 54}, ['stair_on1'] = { 0, 54, 60, 72}, ['stair_false1'] = { 0, 72, 60, 90} } local btnDef = { ['play'] ={50, 150}; ['mutabilplayer'] ={100,200}; ['score'] ={250,300}; ['operation'] ={200,350}; ['stair'] ={40,400}; ['doodle'] ={55,380}; } function applicationDidFinishLaunching(self, application) local frame = UIScreen:mainScreen():bounds() window = UIWindow:initWithFrame(frame) window:setBackgroundColor(UIColor:colorWithRed_green_blue_alpha(0.196, 0.725, 0.702, 1)) self.background = UIImageView:initWithFrame(frame) self.background:setImage(UIImage:imageNamed("bck.png")) window:addSubview(self.background) local label = UILabel:initWithFrame(CGRect(0, 100, 320, 40)) label:setFont(UIFont:boldSystemFontOfSize(30)) label:setColor(UIColor:whiteColor()) label:setBackgroundColor(UIColor:colorWithRed_green_blue_alpha(0.173, 0.651, 0.627, 1)) label:setText("Hello Lua!") label:setTextAlignment(UITextAlignmentCenter) window:addSubview(label) Menu() self.window:makeKeyAndVisible() end function Menu() local imgplay = UIImage:imageNamed("play.png") local p = btnDef['play'] local size = imgplay:size() local play = UIButton:initWithFrame(CGRect(p[1], p[2], size.width, size.height)) play:setBackgroundImage_forState(imgplay, 0) window:addSubview(play) local imgMultiplayer = UIImage:imageNamed("multiplayer-on.png") p = btnDef['mutabilplayer'] size = imgMultiplayer:size() multiPlayer = UIButton:initWithFrame(CGRect(p[1], p[2], size.width, size.height)) multiPlayer:setBackgroundImage_forState(imgMultiplayer, 0) window:addSubview(multiPlayer) imgStair = UIImage:imageNamed("statr1-0.png") size = imgStair:size() p = btnDef['stair'] local stair = UIImageView:initWithFrame(CGRect(p[1], p[2], size.width, size.height)); stair:setImage(imgStair) window:addSubview(stair) local imgdoodle = UIImage:imageNamed("lik-right.png") size = imgdoodle:size() doodle = UIImageView:initWithFrame(CGRect(p[1]+10, p[2]-size.height+4, size.width, size.height)) doodle:setImage(imgdoodle) window:addSubview(doodle); --开启线程 ismenu = ture g = 10 v0 = -100; timer = NSTimer:scheduledTimerWithTimeInterval_target_selector_userInfo_repeats(0.01, self, "handleTimer:", nil, true) end count = 1 function handleTimer() jumpthread() end --抛物运动 function jumpthread() local rect = doodle:frame() local deta_t = 0.1 vt = v0 + g*deta_t local s = (v0*deta_t + g*deta_t*deta_t)/2; rect.y = rect.y + s; v0 = vt if v0>100 or v0==100 then v0 = -100 rect.y = btnDef['stair'][2]-rect.height+4 end doodle:setFrame(rect) doodle:setNeedsDisplay() end function splitePNG(img, rect) print(type('函数调用')) local cgimg = wax.CGContext.CGImageCreateWithImageInRect(img:CGImage(), rect) image = UIImage:imageWithCGImage(cgimg) return image end function applicationDidBecomeActive(self, application) end function AppDelegate:applicationDidEnterBackground(application) endlua代码如上
项目下载地址:doodlejump.zip