cocos2d-lua学习笔记1

从上一篇搭建好了cocos2d-lua环境,迫不及待的尝试一下,下面是学习的时候的代码

local MainScene = class("MainScene", cc.load("mvc").ViewBase)


function MainScene:onCreate()
    -- add background image
    display.newSprite("HelloWorld.png")
        :move(display.center)
        :addTo(self)


    -- add HelloWorld label
    cc.Label:createWithSystemFont("Hello World", "Arial", 40)
        :move(display.cx, display.cy + 200)
        :addTo(self)
        print("全部");


    --添加精灵
    display.newSprite("ze.png")
        :move(display.center)
        :addTo(self)




    --添加函数
    local function sort(a,b)
        if a>b then return a else return b end;
    end


    --函数使用
    local variable1 ,variable2 = 1,2;
    local pyf = sort(variable1,variable2);
    print("pyf=%d",pyf);


    --表,对象的使用
    local biao = {name = "pyf",age = 24,score = 90};
    print("name = "..biao.name,biao.age,biao.score);


    --创建精灵的方式,以及对精灵设置各种属性
    local p = cc.Sprite:create("ze.png")
    p:setPosition(cc.p(500,500));
    p:setAnchorPoint(cc.p(0,0));
    p:setColor(cc.c3b(255,255,0));
    self:addChild(p);


    --动作(注意:by才有reverse,to是没有的)
    local act1  = cc.JumpTo:create(5,cc.p(0,0),100,100);
   -- p:runAction(cc.RepeatForever:create(act1));
    local m1 = cc.MoveBy:create(2,cc.p(500,500));
    local m2 = m1:reverse();
    p:runAction(cc.Sequence:create(m1,m2));


    --动画
    local sprite_ani = cc.Sprite:create();
    sprite_ani:setAnchorPoint(cc.p(0,0))
    sprite_ani:setPosition(cc.p(0,0));
    self:addChild(sprite_ani);


    local animation = cc.Animation:create();


    for i = 1 ,7 do


        local name  = i..".png";
        animation:addSpriteFrameWithFile(name);


    end


    animation:setDelayPerUnit(2.8/14.0);
    animation:setRestoreOriginalFrame(true);
    animation:setLoops(1);


    local ani = cc.Animate:create(animation);


    sprite_ani:runAction(ani);




    --label
    local label = cc.Label:create();
    label:setString("000");
    label:setPosition(cc.p(100,100));
    self:addChild(label);




    --tocher


--local node1 = cc.Node:create()
--self:addChild(node)
--print("node is ok")


--node1:setTouchEnabled(true)






--正常的触摸监听事件
    local function onTouchBegan(touch, event)
       print("0000000")
        return true
    end


    local function onTouchMoved(touch, event)
       print("11111111111")
    end


    local function onTouchEnded(touch, event)
       print("2222222222222")
    end




    local listener1 = cc.EventListenerTouchOneByOne:create()--单点触摸
    listener1:setSwallowTouches(true)
    listener1:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
    listener1:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED )
    listener1:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
--    local eventDispatcher = self:getEventDispatcher()
--    eventDispatcher:addEventListenerWithSceneGraphPriority(listener1, self)
    self:getEventDispatcher():addEventListenerWithSceneGraphPriority(listener1,self)--给层添加监听








    --cocostdio  UI编辑器
    local m_widget = ccs.GUIReader:getInstance():widgetFromJsonFile("Common_RoomEX.json")
    m_widget:setPosition(cc.p(-100,-100))
    self:addChild(m_widget)




   --按钮回调函数
    local function ButtonCallBack(sender, eventType)
        if eventType == ccui.TouchEventType.ended then
            local n = sender:getTag();
            if n == 594 then --594按钮
                print(n.."button is touch!");
            end
        end
    end




    --按钮
    local button1 = m_widget:getChildByName("Button_quZhouMahjong");
    button1:setColor(cc.c3b(255,255,0));
    button1:addTouchEventListener(ButtonCallBack)




    --checkBox回调函数
    local function checkCallBack(sender,eveneType)
        print("checkBox is touch!");
    end




    --checkBox
    local checkbox = m_widget:getChildByName("CheckBox_AAFanKa0");
    checkbox:setVisible(true)
    checkbox:addTouchEventListener(checkCallBack);
    




end


return MainScene


好了,到这里基本上把平时用的最多的几个控件都熟悉了一下,下面就靠自己的尝试了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值