Cocos游戏开发
文章平均质量分 60
property。。
一个15岁的初中学生 不定时做技术分享
展开
-
【win】全屏、窗口化、动态修改分辨率和获取屏幕支持的所有分辨率
【win】全屏、窗口化、动态修改分辨率和获取屏幕支持的所有分辨率前言CocosCreator关于发布Windows的资料非常少,甚至官方的文档左侧目录里连个“发布windows”的标题都没有,发win的坑太多了比如安装VisualStudio的时候有一个Windows 8.1 SDK和UCRT SDK模块,2.x版本不勾就报错,而3.x不报错,文档就没有写。希望官方可以完善相关文档打包Windows后,并不是全屏的,如何去全屏游戏呢,如何在游戏中去自由控制全屏窗口化或者去修改分辨率呢?这方面的资料原创 2021-10-03 15:06:50 · 5115 阅读 · 3 评论 -
15岁初中生开发了一个多月的小游戏开源
大家好,我是一名初中生,今年初二,15岁,2019年一次偶然的机会在网上看见了CocosCreator开发像素鸟的视频教程,从此入坑(当时我刚小升初)。主要的学习途径是看大佬写的文章,偶尔问问各路大佬问题。刚学Cocos的时候,我特别想做一款类似造梦西游的2D横版闯关游戏,但因为没有经验和技术,一直没能做,我不断的学习编程,向大佬请教。初二上学期一放寒假,我就投入到游戏开发,终于做出了最初想做的2D横版闯关游戏。其实早在今年3月我就把游戏做完了,但是一直没有时间整理,现在终于有时间整理了,多给代码写写注释.原创 2021-08-29 18:06:45 · 733 阅读 · 1 评论 -
【开学了】整理各种常用功能的实现 | 小游戏源码分享
暑假余额严重不足,马上初三了学习任务很紧,初三上一个学期要把上下两套书都讲完,下学期光模拟考,不出意外摸不到手机电脑了。花点时间整理下学过的知识,算是对自己自学两年Creator的一个总结。没有特殊说明引擎版本的就是3.2.12D / 3D摇杆三角函数在游戏中的应用 | 角度和平面向量的转换技能按钮冷却手指滑动粒子效果新手引导小小黑板射线检测 | 模拟选中打字机效果小提示文字双指缩放和拖动无黑边吃鸡游戏中开关门2D横版游戏背景随主角移动 | 单独相机拍UI原创 2021-08-29 18:06:06 · 600 阅读 · 1 评论 -
Creator2D横版游戏(1)主角左右走
Creator2D横版游戏(1)主角左右走本次目标源码在文末需要两个按钮,一张背景图和一套主角spine节点层级主角太大,给它缩小点创建一个新脚本挂到主角上先写一个枚举出来,只有左右走和静止// 状态// 左走 右走 静止export enum State{ left, right, idle,};需要用到的属性 @property({displayName: "角色", tooltip: "角色", type: sp.Skeleton}) player原创 2021-08-24 15:15:59 · 644 阅读 · 0 评论 -
Creator2D横版游戏(2)背景图随主角移动 | 单独相机拍UI
Creator2D横版游戏(2)背景图随主角移动上次教程做好了人物左右走,这次来做背景移动本次目标1.背景图跟随角色移动2.限制背景图移动范围,不出黑边移动背景的脚本放在canvas上说是背景在移动,实际上是移动相机需要的属性 @property({displayName: "相机", tooltip: "相机", type: Node}) camera: Node = null; @property({type: UITransformComponent})原创 2021-08-24 15:15:53 · 967 阅读 · 0 评论 -
Creator2D横版游戏(3)完结篇:敌人追着主角打的AI
Creator2D横版游戏(3)完结篇:敌人追着主角打的AI前两期做好了主角左右移动和背景的移动本期目标(敌人追着主角打)把敌人的spine拖动到canvas下新建FoeAI脚本,挂在敌人的spine节点上和主角的Player脚本一样,先撸一个枚举,和主角脚本相比多了一个attack(攻击)// 状态// 左走 右走 静止 攻击export enum State{ left, right, idle, attack,};所需属性 @property({displayN原创 2021-08-24 15:15:47 · 813 阅读 · 0 评论 -
微信小游戏《飞机打方块》源码分享
微信小游戏《飞机打方块》源码分享游戏使用CocosCreator v2.4.2开发源码:https://gitee.com/propertygame/cocos-creator3.x-demos/tree/master/Airplanes_break_bricks为了让大家一目了然,我做了一张思维导图请鼠标右键复制图片网址,粘贴到浏览器查看,不然看不清...原创 2021-08-24 15:15:30 · 705 阅读 · 0 评论 -
Creator开关门
Creator开关门在之前的3D摇杆基础上加一个开关门3D摇杆:https://blog.csdn.net/bcswkl_/article/details/119698998Door.tsimport { _decorator, Component, Node, BoxColliderComponent, ITriggerEvent, Vec2, LabelComponent, Vec3, WidgetComponent, UITransformComponent, CCString, Layer原创 2021-08-24 15:15:17 · 196 阅读 · 0 评论 -
三角函数在游戏中的应用CocosCreator方向和角度的转换
最终目标文末有源码数学概念下面要引入两个数学概念,一个是正弦余弦和真切,一个是角度制和弧度制正弦 余弦 正切如图,在Rt△ABC中,∠C = 90°,斜边为c,长的直角边为b,短的直角边为a。正弦我们把∠A的对边与斜边的比叫做∠A的正弦(sine),记作sinA,即sinA = ∠A的对边 / ∠A的斜边 = a / c余弦我们把∠A的邻边与斜边的比叫做∠A的余弦(cosine),记作cosA,即cosA = ∠A的邻边 / ∠A的斜边 = b / c正切我们把∠A的对边与邻边原创 2021-08-22 17:14:18 · 2722 阅读 · 0 评论 -
2D / 3D摇杆控制角色移动(原理讲解 + 源码分享)CocosCreator
2D / 3D摇杆控制角色移动(原理讲解 + 源码分享)CocosCreator源码在末尾前言一年前我在Cocos论坛发了一篇封装2D摇杆的文章,因为对角色移动和转向这些逻辑都写在了摇杆脚本里面,有个小伙伴提出了宝贵的建议,我认为他说的很对,就重新整理下再加个3D版本的摇杆。2D摇杆效果如何使用节点的结构吸取了上次的教训,这次分两个脚本实现2D摇杆Joystick放在parent节点(摇杆背景和摇杆中心点父节点)上Player放在角色上Joystick.tsimport {原创 2021-08-22 17:14:09 · 3451 阅读 · 1 评论 -
Creator双指缩放和拖动无黑边
Creator双指缩放和拖动无黑边源码在文末效果因为PC端不可以双指操作,所以这是现在手机上录屏再到电脑录GIF的结果节点结构遮挡节点目标节点,也就是需要缩放和拖动的奥利给图片创建一个脚本挂在canvas上需要在组件里面定义的属性 @property(UITransformComponent) canvas: UITransformComponent = null!; @property({displayName: "相机", tooltip: "相机", typ原创 2021-08-22 17:13:57 · 1094 阅读 · 0 评论 -
Creator手指滑动粒子效果 | 节点跟随鼠标移动
效果在前代码奉上import { _decorator, Component, Node, Prefab, UITransformComponent, SystemEventType, Vec2, CameraComponent, Vec3, EventTouch, instantiate, tween, ParticleSystem2D, Color } from 'cc';const { ccclass, property } = _decorator;@ccclass('Typescrip原创 2021-08-22 17:13:50 · 428 阅读 · 0 评论 -
Creator模拟二维数组在编辑器显示
CocosCreator本身不支持二维数组在编辑器显示但是思路拐个弯就可以轻松实现import { _decorator, Component, Node, CCFloat, SpriteFrame, CCString } from 'cc';const { ccclass, property } = _decorator;@ccclass("Type")export class Type { @property({displayName: "班级"}) class: str原创 2021-08-22 17:13:42 · 685 阅读 · 0 评论 -
Creator小提示的实现 | 不重复自动显示内容
Creator小提示的实现 | 不重复自动显示内容不少游戏中都有小提示来用Creator写一个小提示脚本给出代码import { _decorator, Component, Node, LabelComponent, CCString, random, CCBoolean, error, CCFloat } from 'cc';const { ccclass, property } = _decorator;@ccclass('Hint')export class Hint exte原创 2021-08-22 17:13:33 · 448 阅读 · 0 评论 -
Creator新手引导 | 限制只能点击一个按钮 | 文字打字机效果
效果实现这个非常简单巧妙源码在文末实现思路节点有点多,一个一个讲解下bg是游戏背景图,主要是为了和灰黑色的遮罩区别Btn_parent是三个按钮的父节点,加了一个layout,使每个按钮不互相挨着挤得慌hand是白色的引导手label是引导文字Mask是遮挡节点,他还有一个单色精灵子节点,单色精灵子节点就是所有灰色的部分,单色精灵上加了一个widget保持和canvas上下左右为0代码奉上~import { _decorator, Component, Node, Bu原创 2021-08-22 17:13:20 · 414 阅读 · 0 评论 -
Creator打字机效果
我封装了非常好用的方法只需要传入指定的label,要显示的内容和每个字显示的时间间隔就可以,返回全部显示完所需时间支持同一个label未全部显示完就再次设置新的显示内容这个方法靠两个数组维持 // 这个数组控制文字是否可以继续显示,防止文字乱套 is_string: boolean[] = []; // 之前使用过set_label_stringTW方法的所有label label_last: LabelComponent[] = []; // 设置label内.原创 2021-08-22 17:13:08 · 359 阅读 · 2 评论 -
Creator射线检测 | 模拟选中
Creator射线检测 | 模拟选中射线检测官方文档射线检测的用途有很多,捡物品,射击都需要用到射线检测官方给出三种常见的构建射线的方法我们使用第三种方法思路:通过相机和点击屏幕得到的触点构造一条射线,检测所有的碰撞盒,并记录与射线距离最短的检测结果,给检测结果设置描边材质节点层级新建一个空节点取名Game,创建一个平面当地面,再创建一堆模型一定要给每个模型加上碰撞体,射线只会检测有碰撞体的节点再撸一个canvas和label出来,直接创建一个label,会自动创建canvas原创 2021-08-22 17:12:59 · 542 阅读 · 0 评论 -
Creator技能按钮冷却效果
Creator技能按钮冷却效果实现这个效果很简单,需要用到精灵组件先把技能按钮拖到场景里面,修改渲染类型为填充,方向为扇形填充,中心点设置为(0.5,0.5),填充起始为0,填充总量为1在技能按钮下创建一个label,这里为了更醒目设置成了红色新建个脚本取名SkillBtn,把下面的代码复制粘贴进去import { _decorator, Component, Node, SpriteComponent, LabelComponent, CCFloat, CCBoolean, Button原创 2021-08-22 17:12:28 · 367 阅读 · 0 评论 -
Creator小小黑板 | 画板功能实现
源码在文末节点层级bg是墨绿色的背景brush是笔刷,上面有Graphics组件Color是更改画笔颜色的一堆颜色块的父节点UI_bg下面有显示笔刷颜色的精灵,选择笔刷或橡皮的按钮BTN_parent子节点有清空画布按钮,调整画笔和橡皮大小的滑动器有两个脚本Main脚本负责绘画UI脚本负责UI相关先写Main脚本,撸一个枚举控制笔刷类型// 笔刷类型 是画笔还是橡皮export enum Type { brush, eraser,}Main脚本的属性 .原创 2021-08-22 17:10:21 · 565 阅读 · 1 评论 -
CocosCreator封装摇杆 摇杆控制角色移动 绝对好用(如何使用 + 原理讲解)
ww原创 2020-10-16 21:15:46 · 3405 阅读 · 4 评论 -
CocosCreator像素鸟小游戏实现(有源码)超详细教程 TS实现小游戏 零基础开发
CocosCreator像素鸟小游戏实现(有源码)超详细教程 TS实现小游戏前言老规矩先看效果源码的获取方式在最下面对于本游戏来说canvas这样设置最佳哦游戏实现思路:小鸟的位置是全程不动的,只有管子和地面在动。需要用到物理引擎和碰撞系统,物理引擎来让小鸟下落,并在点击屏幕的时候让小鸟飞起来,碰撞引擎用来判断小鸟和障碍物碰撞,还需要存储和读取历史最高分等等本文章的目录前言一、搭建场景二、写代码一、搭建场景搭建基本场景新建一个场景取名为Game并且打开设置好canvas把背原创 2020-10-01 13:54:20 · 5828 阅读 · 11 评论 -
CocosCreator拼手速小游戏(教程 + 源码)TS实现小游戏
CocosCreator拼手速小游戏(教程 + 源码)TS实现小游戏前言游戏完成后的样子玩法:在10秒内点击屏幕中间的按钮,最终记录一共点击了多少下源码在Q群:1130122408这个游戏比较简单哈对于这个游戏来说canvas的宽高这样设置最佳一、搭建游戏场景首先新建一个场景取名为Main然后打开然后我们在canvas节点下新建一个按钮,取名为main_btn,作为屏幕中间用来点击的按钮把按钮的宽高设置的大一些,我设置的是宽500,高300并把按钮上的文字显示内容改为 点我原创 2020-09-19 18:04:25 · 2934 阅读 · 2 评论 -
CocosCreator音频的播放、暂停、恢复与停止
CocosCreator音频的播放、暂停、恢复与停止PS:本教程是写给没有任何基础的小萌新的,大佬勿喷实现音频的播放我建议用AudioSource组件来实现首先创建一个空节点,给这个空节点添加AudioSource组件...原创 2020-08-31 21:02:26 · 3688 阅读 · 1 评论 -
CocosCreator拖动背景 背景移动 到边缘处无黑边
CocosCreator拖动背景 背景移动 到边缘处无黑边背景图是我随便找的首先创建一个场景然后新建一个TS脚本,名字随便取然后把下面的代码复制粘贴到脚本里面const {ccclass, property} = cc._decorator;@ccclassexport default class NewClass extends cc.Component { @property(cc.Node) bg:cc.Node = null;//背景图 @property原创 2020-08-31 13:36:14 · 1337 阅读 · 2 评论 -
CocosCreator脚本与脚本之间的调用、调用其他脚本的方法
CocosCreator脚本与脚本之间的调用、调用其他脚本的方法方法一:先举个例子,我现在有脚本A和脚本B在场景中有节点1和节点2我把脚本A挂在了节点1上,把脚本B挂在了节点2上在脚本A中有一个叫C的方法我现在想在脚本B中调用脚本A中的C方法在脚本B中写import script from "./A";const {ccclass, property} = cc._decorator;@ccclassexport default class NewClass extends cc原创 2020-08-21 11:48:01 · 8324 阅读 · 1 评论 -
CocosCreator叠箱子游戏(教程 + 源码)TS实现小游戏
CocosCreator叠箱子游戏(教程 + 源码)TS实现小游戏前言源码在最下面!!!游戏完成后的样子对于这个游戏来说canvas的宽和高这样设置最佳1、开启物理和碰撞首先先新建场景,取名为Game然后新建脚本取名为CollisiononLoad(){ let manager = cc.director.getCollisionManager();//获取碰撞引擎 manager.enabled = true;//开启碰撞引擎 }onload这么写原创 2020-08-18 13:47:58 · 6857 阅读 · 3 评论 -
CocosCreator让一个物体跟随鼠标移动
CocosCreator让一个物体跟随鼠标移动首先新建一个脚本,名字随便取const {ccclass, property} = cc._decorator;@ccclassexport default class NewClass extends cc.Component { @property(cc.Node) test:cc.Node=null; onLoad(){ //绑定事件 this.node.on(cc.Node.Event原创 2020-08-12 21:51:00 · 3109 阅读 · 4 评论 -
CocosCreator使用物理引擎和回调
CocosCreator使用物理引擎和回调大家好我是个新人,博客可能写的不好希望大家见谅一、开启物理引擎COCOS物理引擎是默认关闭的,必须用代码打开新建一个脚本onLoad(){ let manager=cc.director.getPhysicsManager(); manager.enabled=true;//开启物理引擎}这是onload里面的代码脚本挂到canvas节点上即可开启物理引擎二、碰撞效果首先必须开启物理引擎必须在节点上添加Rid原创 2020-08-11 13:57:32 · 1447 阅读 · 0 评论