2016-07-11 13:28:42 u010664312 阅读数 9795

function UiTools:getAllChild(parent)
local node_list = {}
local children = parent:getChildren()

    local function seach_child(parente)
        local childCount = parente:getChildrenCount()
        if childCount < 1 then
            node_list[parente:getName()] = parente
        else 
            for i = 1, childCount do
                dump(parente)
                node_list[parente:getName()] = parente
                seach_child(parente:getChildren()[i])
            end
        end
    end 

for k , v in next ,children do 

    if #v:getChildren() < 1 then
        node_list[v:getName()] = v
        else
        seach_child(v)
    end
end
return node_list

end

2018-06-09 10:11:53 qq_32319999 阅读数 528
Traceback (most recent call last):
  File "H:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin\/cocos.py", line 1047, in <module>
    if not _check_python_version():
  File "H:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin\/cocos.py", line 975, in _check_python_version
    print(MultiLanguage.get_string('COCOS_PYTHON_VERSION_TIP_FMT') % (major_ver, minor_ver))
  File "H:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin\MultiLanguage.py", line 52, in get_string
    fmt = cls.get_instance().get_current_string(key)
  File "H:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin\MultiLanguage.py", line 46, in get_instance
    cls.instance = MultiLanguage()
  File "H:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin\MultiLanguage.py", line 97, in __init__
    self.cfg_info = json.load(f, encoding='utf-8')
  File "C:\Users\14402.000\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 296, in load

    return loads(fp.read(),


我的原因是python版本错误,需要python2.7而我的是3.6,

还有一种情况就是当存在多python版本的时候,就算安装了Python2.7也不行,必须让默认的在命令行输入python运行结果显示为2.7的版本才可用,也就是说,如果安装了多版本python,如果你在cmd中输入python出现的是2.7以外的版本是会报错的。

2017-07-30 11:58:32 qq_35131940 阅读数 2751

.meta文件是什么东西?

哪些文件是不需要提交到服务器上的?

cocos creator 怎么进行模块化开发?

(1)在cocos creator中即使是创建一个文件夹,在文件打开位置都会有一个同名的.meta文件。这个文件有什么用?是否可以删除?

.meta中有一个唯一标识的uuid,是cocos creator用来管理资源的。如果删除,再创建,uuid就会改变,所以尽量不要删除。

(2)在cocos creator所建立的项目文件下,有一个gitingore文件。这个文件就是告诉大家,哪些可以删除,然后把需要的文件上传到服务器上。

(3)cocos creator允许你将代码拆分成多个脚本文件,并且让他们相互调用。

         模块化相当于                                 模块化使你能在cocos creator中引用其它

        ·Java和Python中的import               `访问其它文件导出的参数

        ·C#中的using                                  ·调用其它文件导出的方法

        ·C/C++中的include                          ·使用其它文件的导出的类型

        ·HTML中的<link>                            ·使用或继承其它Component

//CCC.js

module.exports={

         por:3,

         por:4

}

每个脚本都可通过require+文件名来获得另外一个脚本中的exports对象


var tt=require("CCC");

·每一个脚本文件构成一个模块

·每个模块都是一个单独的作用域

·以同步的require方法来引用其它模块

·设置module.exports为导出的变量。


2018-02-24 01:12:54 agsgh 阅读数 2922

Cocos creator 学习Part 1

场景树

场景树


场景树可以在层级管理器中进行编辑调整,正如图片所示,在Cocos creator的场景是树形结构。并且在其中的所有节点都为cc.Node

cc.Node属性

属性名 功能
name 获取节点的名字
active 即该节点是否可见
position 节点相对坐标(相对于父节点)
rotation 旋转度,cocos以顺时针为正数
scale 缩放
anchor 锚点位置
Size 节点大小
Color 填涂颜色
Opacity 节点透明度
Skew 节点偏斜
Group 分组,节点的分组将关系到节点的碰撞组件可以与哪些碰撞组件相碰撞。
parent 父节点
children 父节点的所有子节点
childrenCount 子节点的数目
tag 节点标签

当然这些属性其实都可以从属性检查器中直接查看到
这里写图片描述

cc.Component

cc.class{}是继承至cc.Component
因此每个组件的实例会相应地调用入口函数

入口函数 调用周期
onLoad 在组件加载的时候调用
start 组件第一次激活前调用
update 每次场景刷新时就会调用
lateUpdate 在update之后调用
enable 组件是否被启用
onEnable 组件在允许的时候调用
onDisable 组件在不被允许的时候调用

创建cc.class的实例对象

创建实例对象非常简单,只要将相应的组件脚本挂载到节点之中即可。cocos creator会自动new一个实例化对象,此时代码之中的this就是指当前组件实例,并且我们可以通过this.node 访问当前节点对象。

cc.Node的一些方法

方法 功能
addChild 添加子节点,并且可以修改该节点的 局部 Z 顺序和标签。
removeFromParent 从父节点上删除该节点
removeAllChild 移除节点所有的子节点
setLocalZorder 类似photo的图层覆盖关系,这个方法可以调整图层关系
setPosition 设置节点坐标(相对父节点)
getPosition 获取节点坐标(相对父节点)
getChildByName 通过名称获取节点的子节点。
getChildByTag 通过标签获取节点的子节点。
cc.find() 通过路径查找节点(当项目比较大型时比较吃资源)

也可以加下Q群 一起讨论学习 点击下面链接即可加群
加群链接

2017-09-30 20:37:33 qq_35131940 阅读数 641

1、socket为什么不能使用

2、cocos类之摄像机使用问题


1、在使用socket为什么不能使用

在客户端,首先下载socket.io这个模块。根据官方文档给出的。

if(!cc.sys.isNative){

    //socket.io源码

}

然后我是以非插件形式导入到cocos creator中。

然后写好客户端的socket代码

connect:function(fnConnnect,fnError){
var self=this;
var opts={};
opts={

'reconnection':false,
'force new connection':true,
'transports':['websocket','polling']

}
this.sio=window.io.connect(this.ip,opts);
this.sio.on("connect",function(data){
console.log("执行一次fnConnect");
self.sio.connected=true;
fnConnnect(data);

});
this.sio.on('disconnect',function(data){
console.log("服务器断开连接");
self.sio.connected=false;
self.close();

})


for(var key in this.handlers){

var value=this.handlers[key];
if(typeof(value)=="function"){

if(key=='disconnect'){

this.fnDisconnect=value;

}else{

console.log("register :function"+key);
this.sio.on(key,value);

}

}

}

}
在web平台上运行没有问题,但是到了原生平台上,他就会直接抛出一个Websocket error,我完全没有解决的思路

2、摄像机类的使用

这是有史以来我认为我最为搞不懂的类。因为他的设置摄像机的节点位置。但是我至今没弄明白怎么使用

没有更多推荐了,返回首页