码迷,mamicode.com
首页 > 微信 > 详细

用Quick3.3简单开发微信打飞机01

时间:2015-01-15 16:10:50      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:

楼主也是初学quick,想写几个简单的小项目入门,想想最简单的还是“微信打飞机”了(之前学cocos2d-js的时候也是从这个项目开始入手的)。

这里只是写一个微信打飞机的Demo,所以,不需要有太多的功能。先简单的分析下:

大概分为四个部分来实现:

1.先新建项目实现一个飞机在屏幕中移动

自定义场景,

精灵的定义

屏幕点击事件

2.在游戏中添加敌人和子弹

数组,

计时器

3.添加碰撞检测

数组中元素的删除,

动画

分数的实现

4.游戏结算

界面的切换,

这里先实现第一部分:

写一个MainScene和一个GameScen,MainScene作为菜单界面,点击菜单界面进入GameScene(游戏主界面),这里需要用到精灵的创建,触屏事件的添加,界面的切换。

下面上代码:

MainScene:

local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()
    --添加一个背景精灵
    self.bgSprite = display.newSprite("game_bg.jpg"):addTo(self)
    self.bgSprite:pos(display.cx,display.cy) 
    --添加一个TouchLayer
    self.touchLayer = display.newColorLayer(cc.c4b(255,255,255,0)):addTo(self)
    self.touchLayer:setTouchEnabled(true)
    self.touchLayer:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(event)
        if event.name == "ended" then
            --切换界面
            local nextScene = require("src.app.scenes.GameScene").new()
            display.replaceScene(nextScene, "fade", 0.5, cc.c3b(0, 0, 0))
        end
        return true
    end)
end

function MainScene:onEnter()
end

function MainScene:onExit()
end
	

return MainScene

GameScene代码:

local GameScene = class("GameScene",function ()
    return display.newScene("GameScene")
end)

function GameScene:ctor()
    --添加Player精灵
    self.player = display.newSprite("hero_1.png"):addTo(self)
    self.player:pos(display.cx,display.cy)
    self.player:setLocalZOrder(10)
    self.touchPos = cc.p(0,0)

    --添加一个TouchLayer接收点击事件
    self.touchLayer = display.newColorLayer(cc.c4b(255,0,0,255)):addTo(self)
    self.touchLayer:setTouchEnabled(true)
    self.touchLayer:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(event)
        print(event.name)
        if event.name == "began" then
            self.touchPos = cc.p(event.x,event.y)
        elseif event.name == "moved" then
            local x = event.x - self.touchPos.x ;
            local y = event.y - self.touchPos.y ;
            self.touchPos = cc.p(event.x,event.y) ;
            self:onTouch(x,y) ;
        else
            self.touchPos = cc.p(0,0) 
        end
        return true
    end)
end

function GameScene:onTouch(x,y)
     --更新飞机的位置,没有对飞机是否会触屏做限制
    self.player:pos(self.player:getPositionX() + x,self.player:getPositionY() + y)
end

function GameScene:onEnter()
end

function GameScene:onExit()
end

return GameScene


用Quick3.3简单开发微信打飞机01

标签:

原文地址:http://blog.csdn.net/c_boy_lu/article/details/42741107

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!