读一读

一、因为要在Windows平台上去运行游戏,所以下载vs,我这里版本是最新的vs2019。然后安装《使用c++的桌面开发》,项目运行编译的工具就完成了。

二、进入新创建的项目目录,进入frameworks/runtime-src/proj-win32目录,打开你的项目.sln。

三、打开F5运行编译就好了,如果报std::function想过错误,直接在报错文件引入 #include <functional> 头文件即可

四、编译运行会把你根目录下的src和res目录复制到simulator/win32目录下,simulator/win32这个目录就是运行生成的exe可执行项目

五、以后的项目的开发,可以直接将res和src目录复制到win32目录下,双击exe程序运行查看效果。

六、使用项目内的win32是没有调试输出的,可以去cocos框架目录下去找tools/simulator/frameworks/runtime-src/proj-win,编译后是有带黑窗口调试输出的,替换项目中的win32除res和src目录外的所有内容。


image.png

image.png


Win+R打开cmd命令行工具,输入:

cocos new 项目名 -p 包名 -l lua -d 目录

-l后面跟的就是项目使用的语言,等待创建完成就可以去目标目录看到


image.png


主要开发的目录就是:res存放资源,src存放lua脚本


首先下载并安装python2.7.13,然后将python添加到环境变量中。然后去cocos官方下载Cocos2d-x3.16,解压到无中文的目录下,运行setup.py,按照提示输入sdn和ndk的目录。这个步骤后就会将cocos添加到环境变量中,就可以使用命令行cocos来操作了。


local slider = self:seekNodeByName({"Slider_1"})
slider:setMaxPercent(1024) --设置最大的滑动值
slider:setPercent(800) --设置滑动条位置
slider:addEventListener(handler(self, self.amountValuechanged)) --监听滑动事件数值变化

function Class:amountValuechanged(sender,type)
    print(type) --0
    print(sender:getPercent())
end

local loadingbar = self:seekNodeByName({"LoadingBar_1"})
loadingbar:setPercent(20)

node:setEnabled(false) --颜色变黑且点击不可用
node:setEnabled(true)

node:setBright(false) --单单的颜色变化,点击还是可用
node:setBright(true)

node:setVisible(false)
node:setVisible(true)

local text = self:seekNodeByName({"Text_1"})
text:setString("设置一段文字...")
text:setFontSize(33) --文字大小
text:setTextColor(cc.c4b(0X00,0XF00,0X00,0XFF)) --文字颜色

local image = self:seekNodeByName({"IMG_logo"})
image:loadTexture("hall/plist/gui--helpbtn.png",1) --加载图集的图片
image:loadTexture("hall/image/share.png") --加载非图集图片,相对res目录

--扩展Widget,使方法能传self过去
function Widget:onClickCheckBox(callback)
    self:addEventListener(function(sender,checked)
        callback(sender,checked)
    end)
end

--使用
checkbox:onClickCheckBox(handler(self,self.selectedEvent))
function Lei:selectedEvent(sender,selected)
    print(sender:getName())
    print(selected) --0是选择 1是未选择
    self.SelectIndex = selected
 end

如果是单单对CheckBox的addEventListener的话,添加的监听函数是只有一个参数的,那就是selected

另外CheckBox是可以通过一个按钮和一张图片所模拟的,万物交互UI都可以用按钮和其它元素组合,所以单单扩展一个按钮点击事件就足够了