------面向优快云------
1.cc.Class 声明类型
2.继承:使用 extends 实现继承
3.常用参数
default: 设置属性的默认值,这个默认值仅在组件第一次添加到节点上时才会用到
type: 限定属性的数据类型
visible: 设为 false 则不在 属性检查器 面板中显示该属性
serializable: 设为 false 则不序列化(保存)该属性
displayName: 在 属性检查器 面板中显示成指定名字
tooltip: 在 属性检查器 面板中添加属性的 Tooltip
---------------------------------------------------------------------------------------
-------课堂-------
动态创建节点:
this.hero = new cc.Node(cc.sprite);
this.hero.addComponent(cc.Sprite);
this.hero.parent=this.node;
this.hero.spriteFrame=this.pic;
--------------------------------------------------
1. cc.systemEvent.on(事件类型eventType,回调函数callback,this);全局监听-键盘按下弹起重力反应
例如:cc.systemEvent.on(cc.systemEvent.EventType.KEY_DOWN,this.onKeyDown,this);
KEY_UP KEY_DOWN DeviceMoTion
2. this.node.on(事件类型eventType,回调函数callback,this);可监听鼠标相关事件,属于CC.Node类型, 取消监听用off
3. node.EventType();
4.Cocos creator 基础功能实现 【定义变量、图片切换、按钮点击、定时器、随机事件、制作动画】
5.建立空节点,便于查看
6.课堂案例:鼠标控制元素的移动
cc.node.touchstart;
cc.node.touchend;
一、游戏中移动的操作,二维向量的改变,对于游戏摇杆的功能分解:
(1)触摸时手柄的移动
(2)超出底盘范围的控制
(3)手柄归位,不动回到初始点
(4)空白场面激活,透明手柄和不透明的手柄出现
(5)以开始触摸为中心,即点击出现圆盘
(6)向量输出函数
(7)底盘位置只能出现在屏幕左边
二、功能分解实现
1.手柄拖动
变量的定义:
handle:cc.Node,
触摸事件:系统内置事件
this.node.on("touchstart",this.onTouchStart,this);
this.node.on("touchMove",this.onTouchMove,this);
触摸开始函数
2.手柄的范围控制,标准:手柄位置向量长度小于或者等于大圆盘的长度
获取大圆盘的宽度和高度
onTouchMove(event)
{
var script = event.getLocation();
var wops = cc.Camera.main,getScreenToWorldPoint(scrpos);
var lops = this.handle.parent.covertToNodeSpaceAR(wpos);
}
//求大圆盘的半径
var redius = this.handle.parent.width/2;
var len = lops.wag();//求手柄的二维向量长度
len = Math.min(len,radius);
lpos = lpos.normalize().mul(len);
this.handle.position = lpos;
其中的normalize为归一化向量,让向量长度为1