文章目录

cocoscreator的一些资料

由 kwor 发布

最近需要做一款小游戏开发,必须得自己动手了。于是在网上收集了写资料。
场景切换。

1.按钮触发绑定的代码

onLoad :function(){

   var clickEventHandler = new cc.Component.EventHandler();
   clickEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点,这里就是Button2
   clickEventHandler.component = "btnclick2";//这个是脚本文件名
   clickEventHandler.handler = "btnClick2"; //回调函名称
   clickEventHandler.customEventData = "click2 user data"; //用户数据

   var button = this.node.getComponent(cc.Button); //获取cc.Button组件
   button.clickEvents.push(clickEventHandler); //增加处理
},
btnClick2:function(event, customEventData){

   //这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点
   var node = event.target;
   var button = node.getComponent(cc.Button);
   //这里的 customEventData 参数就等于你之前设置的 "click2 user data"
   cc.log("node=", node.name, " event=", event.type, " data=", customEventData);

}

2.场景切换(转自:https://www.jianshu.com/p/f90bcd26e472这篇的前半部分。)
知识点
场景(scence)是ccc中必不可少的元素,游戏中需要构建不同场景,例如关卡、板块的切换等。

Director导演类是整个CCC的核心,类似游戏的导航仪。常用的操作都是由导演类来控制的,如初始化、场景切换、暂停继续等。

常用方法

cc.director.loadScene('sceneName')加载场景cc.director.preloadScene('sceneName') 预加载场景,场景切换中,预加载下一次场景的资源this.node.on(action, callback) 绑定事件
案例:场景切换

脚本1:Welcome场景中“开始游戏”脚本

play.js

cc.Class({

extends: cc.Component,

properties: {

},
onLoad: function () {
    this.node.on('mousedown',function(){
        cc.director.loadScene('Main');
    });
}

});
请输入图片描述
pasted-2.png
3.人物移动,需要绑定人物到属性。

properties: {

player: {
    default: null,
    type: cc.Node

},

amer: {
    default: null,
    type: cc.Node
}

},

// LIFE-CYCLE CALLBACKS:
onLoad: function () {

cc.log("=====" + this.player.getPosition());
var moveaction=cc.moveTo(2,cc.p(this.player.position));
this.amer.runAction(moveaction);

}
4.镜头跟随人物在背景中走动(参考https://blog.csdn.net/zidian666/article/details/87924292)
方案一、

/*cc.follow(第一个参数为this.realplayer是要跟随的节点,第二个参数可选:cc.Rect),返回cc.Action,需要复制camera为这个node的下级节点,才能生效。
*/
Camera.node.runAction(cc.follow(this.realplayer));
//camera执行动作跟随node
Camera.node.runAction(cc.follow(this.realplayer,new cc.Rect(-10,-10,20,20)));
//node在Rect的矩形范围内镜头不跟随移动,将要出范围时镜头跟随移动
还需要复制camera为这个node的下级节点,才能生效,如下图配置。
pasted-3.png
方案二、

//镜头跟随角色移动
this.camera.node.setPosition(this.player.x,this.node.y);


仅有一条评论

  1. Typecho
    Typecho · 2020-11-21 22:21

    欢迎加入 Typecho 大家族

发表评论