cc
.
Class
(
{
extends
:
.
Component
,
properties
{
label
{
default
null
type
.
Label
}
text
'Hello,World!'
t_prefab
:
{
:
:
.
Prefab
t_sprite
{
//定义一个cc的类型,并定义上常用属性
SpriteFrame
//类型的定义
// url:cc.Texture2D,//Raw Asset(cc.Texture2D,cc.Font,cc.AudioClip)
visible
true
//属性检查器中是否可见
displayName
:
'himi'
//属性检查器中属性的名字
tooltip
"测试脚本"
//属性检查器中停留此属性名称显示的提示文字
readonly
false
//属性检查器中显示(readonly)且不可修改[当前有bug,设定只读也能修改]
serializable
//设置false就是临时变量
editorOnly
false
//导出项目前剔除此属性
t_url
{
url
.
Texture2D
t_count_2
:
200
//基础类型
//可以只定义 get 方法,这样相当于一份 readonly 的属性。[当前有bug,只设定get也能修改]
t_getSet
{
12
get
function
)
{
return
this
t_getSet
//get
set
(
value
{
t_getSet
=
;
}
//set
t_array
//定义一个数组
[
]
[
Sprite
]
}
// use this for initialization
onLoad
function
)
{
//--->>> 获取组件的几种形式:
//1. 通过属性检查器被赋值的label组件,直接拿到得到实例
//2. 通过属性检查器被赋值的label组件所在的node节点,然后通过getComponent获取
// this.label.string = this.text;
//3. 获取当前this(node)节点上的label组件
// var _label = this.getComponent(cc.Label);
//4. 先获取目标组件所在的节点,然后通过getComponent获取目标组件
var
_label
=
.
find
(
"Canvas/label"
getComponent
Label
;
//5.也可以如下形式【注意此种方式,目前有BUG,无法正常使用 (0.7.1) 】
// var _label = cc.find("Canvas/label<cc.Label>");
console
log
_label
string
;
(
;
//--->>>全局变量的访问
/* 任意脚本中定义如下:【注意不要有var哦】
t_global = {
tw:100,
th:200
};
*/
t_global
th
2000
;
th
;
//--->>>模块之间的访问
/*任意脚本中定义如下 【注意关键字是module.exports】
module.exports= {
tme_pa1:"100",
tme_pa2:333221
};
*/
//--->>>用 require + 文件名(不含路径) 来获取到其他 模块 的对象
tModuleData
require
"testJs"
;
tModuleData
tme_pa2
991
;
tme_pa2
;
//--->>>在当前节点下添加一个组件
mySprite
new
Node
addComponent
mySprite
spriteFrame
t_sprite
;
node
parent
;
setPosition
(
300
;
//--->>>复制节点/或者复制 prefab
//复制节点
lLabel
instantiate
label
;
lLabel
;
(
-
0
;
//复制prefab
tPrefab
t_prefab
;
tPrefab
;
210
100
;
//--->>>销毁节点(销毁节点并不会立刻发生,而是在当前 帧逻辑更新结束后,统一执行)
if
isValid
{
"有效存在,进行摧毁"
;
destroy
;
}
else
{
"已摧毁"
;
}
//--->>> 事件监听 on 4种形式
//枚举类型注册
tFun
=
event
{
"touchend event:"
+
touch
getLocation
x
+
"|"
y
;
on
Node
EventType
TOUCH_END
tFun
//事件名注册
// var tFun =function (event){
// console.log("touchend event");
// };
// this.node.on("touchend",tFun);
// console.log("touchend event");
// });
// console.log("touchend event");
// },this);
// console.log("touchend event");
// }.bind(this));
//--->>> 一次性的事件监听 once
// this.node.once("touchend",function (event){
// console.log("touchend event");
// });
//--->>> 关闭监听
off
"touchend"
;
//--->>> 发射事件(事件手动触发)
"tEmitFun"
{
"tEmitFun event:"
detail
himi
say
//-->>> 事件中断,如下函数阻止事件向当前父级进行事件传递
// event.stopPropagation();
;
emit
{
27
say
"hello,cc!"
;
//--->>> 动作,类似c2dx api 基本无变化
mTo
moveBy
1
;
mAction
repeatForever
sequence
mTo
reverse
delayTime
0.5
callFunc
(
action
data
{
"action callback:"
himi
;
tx
"i'm action callback and bring data"
;
runAction
mAction
;
//暂停动作
stopAction
;
//--->>> 计时器 (component)schedule (cc.Node 不包含计时器相关 API)
//参数: call funtion/interval/repeat times/delay time
//不延迟,永久重复
schedule
{
"schedule log..."
;
;
//不延迟,有重复次数限定
// this.schedule(function(){
// console.log("schedule log...");
//重复2次,重复间隔为1秒,延迟1秒进行
// this.schedule(function(){
// console.log("schedule log...");
//一次性的计时器
mySch
"schedule Once log..."
}
scheduleOnce
mySch
;
//取消定时器
unschedule
;
//--->>> url raw资源获取
mSf
;
mSf
;
spriteFrame
setTexture
t_url
;
400
;
;
setScale
;
//获得 Raw Asset 的 url
mUrl
textureCache
addImage
url
raw
"himi.png"
;
"raw asset url:"
mUrl
;
// called every frame
update
dt
{
// if (cc.isValid(this.label.node) ) {
// console.log("有效存在,进行摧毁");
// }else{
// console.log("已摧毁");
// }
;