最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Cocos Creator之打鼓庆新年(上)

    正文概述 掘金(松鼠)   2021-02-20   651

    从今天开始,我们要开始进行实战练习了,实战的目的是灵活运用 Cocos Creator 做成我们想要的游戏

    今天我们就做一个最简单的游戏 《打鼓庆新年》,这个游戏主要是通过点击指定区域让游戏人物进行打鼓得分,打击次数越多得分越高。

    Cocos Creator之打鼓庆新年(上)

    添加首页场景

    Cocos Creator 中,我们将所有资源、场景、JS/TS 文件 放到 assets 目录中。

    我们在 assets 目录中创建 Scenes 目录来存放 场景 文件,场景文件是 .fire 后缀文件。

    然后再 Scenes 目录中单击右键 新建->Scene

    修改场景名为 Home

    Cocos Creator之打鼓庆新年(上)

    双击 Home 场景进入首页场景中。

    设置游戏场景分辨率

    进入场景后,我们开始对场景设置分辨率。如果你的项目分辨率都是一样的,我们可以到之前在 《Cocos Creator之菜单栏和工具栏》中 项目预览 中讲到了 设计分辨率,在这个游戏中我们首先到 项目->项目设置->项目预览 中将 设计分辨率 改成 1136 x 640,同时为了适配,不让屏幕有黑边,不勾选 适配屏幕宽度适配屏幕高度

    同时,在 层级管理器 中点击 Canvas,在右侧 属性检查器 中找到 Canvas 属性配置,设置分辨率 1136 x 640,不勾选 Fit HeightFit Width

    Cocos Creator之打鼓庆新年(上)

    Cocos Creator之打鼓庆新年(上)

    如果不同的场景使用的分辨率不同,就在不同场景中设置对应的 Canvas 分辨率。

    添加首页背景图

    首先我们需要在 Canvas 下面添加一个 首页 空节点

    Cocos Creator之打鼓庆新年(上)

    Cocos Creator 中我们可以使用 中文命名 的节点。

    添加 首页 空节点的原因是为了统一管理,就像我们布局的时候需要用一个 div 包住子节点一样。方便我们设置 首页 节点中的子节点的 x、y 轴。

    添加完 首页 节点后,在 首页 节点上添加 Sprite 组件,将首页的背景图添加到 Sprite 组件的 Sprite Frame 属性中。你可以看成是 CSS 中的添加背景图。

    Cocos Creator之打鼓庆新年(上)

    现在我们就可以在 场景编辑器 中看到背景图了。

    Cocos Creator之打鼓庆新年(上)

    然后我们点击 工具栏 中的 Cocos Creator之打鼓庆新年(上) ,打开浏览器进行预览。

    Cocos Creator之打鼓庆新年(上)

    有没有感觉图片好像有点不协调?和设计稿完全不一样,上面的娃娃太高了,下面太空了。

    这个主要是因为:Cocos Creator 中是以节点的中心作为原点的,并不是我们常规的左上角来的。 根据我们设置的分辨率是 1136 * 640,由于背景图大于 640,再加上又是以中心为原点来计算的,这样就导致背景图上面和下面有一部分被截断了,只有当设备的屏幕分辨率大于 640 的时候才会将截断的部分显示出来。

    如果我们希望将截断的上面全部都显示出来,有两种方式可以处理:

    • 移动 首页 节点的 y 轴,将节点往下移动。

    场景编辑器 中我们就可以看到图片截取的上部分移到 Canvas 框中了

    Cocos Creator之打鼓庆新年(上)

    在浏览器中预览一下,我们就可以看到图片往下移动了,看上去和谐点了。

    Cocos Creator之打鼓庆新年(上)

    • 修改锚点 Anchor 中的 y,也就是将节点的原点改一下位置,来移动节点。

    场景编辑器 中我们就可以看到图片截取的上部分移到 Canvas 框中了

    Cocos Creator之打鼓庆新年(上)

    在浏览器中预览一下,我们就可以看到图片往下移动了,看上去和谐点了。

    Cocos Creator之打鼓庆新年(上)

    添加开始按钮

    现在我们添加 开始按钮, 按钮的作用主要就是进行 场景切换,从首页跳转到游戏界面。

    添加开始按钮到场景中

    添加图片到场景中有下面方式:

    • 直接将图片拖到 场景编辑器
      • 优点:方便、图片尺寸不会变形、直接拖到指定位置、自动创建节点
      • 缺点:创建的节点在 Canvas 下,不是在某个节点中
    • 将图片拖到 层级编辑器
      • 优点:方便、图片尺寸不会变形、可以选择拖到某个节点中、自动创建节点
      • 缺点:位置始终是 x=0、y=0
    • 创建 Sprite 节点,设置 Sprite Frame
      • 优点:预先设置好位置
      • 缺点:需要创建节点,可能会变形

    Cocos Creator之打鼓庆新年(上)

    按钮添加进去之后,我们要开始写按钮的点击事件。

    开始按钮绑定事件

    Cocos Creator 里面有 鼠标事件类型触摸事件类型

    鼠标事件类型

    这种类型只能用在 PC 平台

    枚举对象定义对应的事件名事件触发的时机
    cc.Node.EventType.MOUSE_DOWNmousedown当鼠标在目标节点区域按下时触发一次cc.Node.EventType.MOUSE_ENTERmouseenter当鼠标移入目标节点区域时,不论是否按下cc.Node.EventType.MOUSE_MOVEmousemove当鼠标在目标节点区域中移动时,不论是否按下cc.Node.EventType.MOUSE_LEAVEmouseleave当鼠标移出目标节点区域时,不论是否按下cc.Node.EventType.MOUSE_UPmouseup当鼠标从按下状态松开时触发一次cc.Node.EventType.MOUSE_WHEELmousewheel当鼠标滚轮滚动时

    触摸事件类型

    这个只能用在移动端平台

    枚举对象定义对应的事件名事件触发的时机
    cc.Node.EventType.TOUCH_STARTtouchstart当手指触点落在目标节点区域内时cc.Node.EventType.TOUCH_MOVEtouchmove当手指在屏幕上移动时cc.Node.EventType.TOUCH_ENDtouchend当手指在目标节点区域内离开屏幕时cc.Node.EventType.TOUCH_CANCELtouchcancel当手指在目标节点区域外离开屏幕时

    添加按钮点击事件

    如果绑定了 Button 组件,我们还可以使用 click 事件,这个事件 PC 和 移动端都可以用。

    在这里,我们简单点,就直接用 按钮点击事件

    添加 Button 组件

    选中按钮节点 startbtn,在右侧 属性检查器 中最下面点击 添加组件,添加 Button 组件

    Cocos Creator之打鼓庆新年(上)

    选好之后,就可以看到:

    Cocos Creator之打鼓庆新年(上)

    创建代码文件

    我们在 assets/Scripts 目录中创建一个 startBtn.ts 来写点击事件的逻辑

    Cocos Creator之打鼓庆新年(上)

    绑定代码文件

    Cocos Creator 中可以将每一个 ts 文件看成是一个 组件 绑定到 节点 上。有两种绑定方式:

    • 直接将文件拖到右侧的 属性检查器

    Cocos Creator之打鼓庆新年(上)

    • 属性检查器 中添加组件

    Cocos Creator之打鼓庆新年(上)

    绑定成功之后我们就开始写代码。

    写代码

    我们在创建 startBtn.ts 的时候,Cocos Creator 会自动的给我们编写一部分代码。

    const {ccclass, property} = cc._decorator;
    @ccclass
    export default class NewClass extends cc.Component {
    
        @property(cc.Label)
        label: cc.Label = null;
    
        @property
        text: string = 'hello';
    
        // LIFE-CYCLE CALLBACKS:
    
        // onLoad () {}
    
        start () {
    
        }
    
        // update (dt) {}
    }
    

    这部分是初始化代码,里面包含了几个 Cocos Creator 中的 生命周期函数onLoadstartupdate

    关于生命周期,可以到我们的 《Cocos Creator之生命周期函数》 里面去看看。

    我们这里需要将代码修改一下:

    NewClass 改成我们的类名 StartBtn

    删掉 @prototype

    @property(cc.Label)
    label: cc.Label = null;
    
    @property
    text: string = 'hello';
    

    当我们在代码中设置了 @prototype,我们就可以在编辑器中看到了,例如这里设置了 labeltext 属性,我们可以在右侧的 属性检查器 中看到了。

    Cocos Creator之打鼓庆新年(上)

    @prototype 后面的括号中可以对属性进行配置,比如配置属性的类型、提示、长度...

    @prototype 对我们作用相当大。

    修改好代码后,我们将点击事件添加进去,我们看到的代码就是这样的:

    const {ccclass, property} = cc._decorator;
    @ccclass
    export default class StartBtn extends cc.Component {
        start () {
            this.node.on("click",function(){
                cc.director.loadScene("Game");
            })
        }
    }
    

    start 中的 this.node 就是绑定我们脚本的 startbtn 节点。

    切换场景就是用 cc.director.loadScene("场景名");

    OK,到这里添加按钮并绑定事件都处理完了,下一步我们要把上面的 Banner 动画加进去

    Banner 入场动画

    到这里我们开始做首页里面的最后一步了,顶部 Banner 的入场动画,让首页更有活力。

    将我们放在 images 中的 banner.png 直接拖到 首页 节点下,Cocos Creator 自动创建 banner 节点,为了区分我们重命名为 bannerNode ,设置好位置,打开浏览器这样我们就看到这样的了:

    Cocos Creator之打鼓庆新年(上)

    然后在 bannerNode 节点下添加 Animate 组件。

    Cocos Creator之打鼓庆新年(上)

    Cocos Creator 中添加了 Animate 组件之后,还需要在 Animate 中添加我们做好的 Animate ClipAnimate Clip 相当于我们拍好的一段视频,Animate 相当于视频播放器,我们将 Animate Clip 添加到 Animate 中进行播放,并且一个 Animate 中可以播放多个 Animate Clip

    现在我们开始制作 Banner 的 Animate Clip

    制作 Animate Clip

    创建 Animate Clip

    Cocos Creator之打鼓庆新年(上)

    将 Animate Clip 添加到 Animate 中

    Cocos Creator之打鼓庆新年(上)

    制作 Animate Clip

    进入编辑状态

    首先,选中 bannerNode 节点,点击下面的 动画编辑器,点击左上角的编辑按钮。

    Cocos Creator之打鼓庆新年(上)

    制作动画

    在制作动画的时候,里面涉及到一个关键的东西:关键帧。关键帧就是节点某个时间点是什么状态。

    比如一个人走路的动画。
    0:0 的时候状态是站着的;
    0:5 的时候,左手向前,左脚向前,是走路的状态;
    0:10的时候,右手向前,右脚向前。

    0:0--> 0:5 这个过程我们有一个 tween 库来帮我们做过渡动画。

    了解了这个之后就可以开始制作了。

    我们要实现的动画是让 Banner 从上面往下面掉。

    Cocos Creator之打鼓庆新年(上)

    从上面的动画可以看出 Banner 就是将 y 轴从上往下移。我们就在关键帧上处理 y 轴属性就可以了。

    Cocos Creator之打鼓庆新年(上)

    从上面的 gif 可以看出来,我们做了几个步骤:

    • 添加 y 属性
    • 0:0 插入关键帧,将 y 移动到上面
    • 1:0 插入关键帧,将 y 移动到最终位置

    这样动画就实现了。但是如果现在你打开浏览器你会发现动画并没有动起来,这个是因为你有一个地方没有勾选。

    Cocos Creator之打鼓庆新年(上)

    勾选 Play On Load 之后,就可以在动画加载完成后就开始播放。

    OK,我们首页到现在就制作完成了,下一步就制作打鼓的场景了。

    小结

    本来想一篇文章把整个游戏的制作流程都写完的,想不到一下子写了这么多,为了让各位有更好的阅读体验,只好分成两个部分了。

    在中间我还插播了一些新的知识点,在阅读过程中如果不是很清楚,可以联系我。

    中间如果发现有错误,强烈希望大家能指出来!!!

    如果大家有兴趣,可以微信搜索 “松鼠闹IT”,关注我的公众号。


    起源地下载网 » Cocos Creator之打鼓庆新年(上)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元