cocos2d-lua学习笔记1

    xiaoxiao2021-04-04  34

    从上一篇搭建好了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

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

    转载请注明原文地址: https://ju.6miu.com/read-666172.html

    最新回复(0)