CocosCreator物理小游戏(二)

Stella981
• 阅读 682

摘要

CocosCreator 物理小游戏实战的视频教程也开更啦!来哔哩哔哩关注 KUOKUO 一起学习吧!

正文

使用版本

CocosCreator 版本 2.3.4

资源划分

素材导入后进行资源分类,我这里将其分为 game 文件夹与 ui 文件夹,对应游戏场景使用资源和显示 UI 资源。

CocosCreator物理小游戏(二)

静态单例管理

UIManager 与 GameManger 分别绑定至管理节点,两者通讯靠 StaticInstance 脚本。

  1. import GameManager from "./GameManager"

  2. import UIManager from "./UIManager"

  3. export class StaticInstance {

  4. static gameManager: GameManager | undefined = undefined

  5. static uiMannager: UIManager | undefined = undefined

  6. static setGameManager(context: GameManager) {

  7. StaticInstance.gameManager = context

  8. }

  9. static setUIManager(context: UIManager) {

  10. StaticInstance.uiMannager = context

  11. }

  12. }

两个 Manager 脚本的 onLoad 中传入实例,在后面就可以相互调用了。

  1. import { StaticInstance } from "./StaticInstance"

  2. const {ccclass, property} = cc._decorator

  3. @ccclass

  4. export default class GameManager extends cc.Component {

  5. onLoad() {

  6. StaticInstance.setGameManager(this)

  7. }

  8. }

在 start 及其以后即可访问实例。

  1. import { StaticInstance } from "./StaticInstance"

  2. const {ccclass, property} = cc._decorator

  3. @ccclass

  4. export default class UIManager extends cc.Component {

  5. onLoad() {

  6. StaticInstance.setUIManager(this)

  7. }

  8. start () {

  9. console.log(StaticInstance.gameManager)

  10. }

  11. }

这样就可以实现 UIManager 与 GameManager 的相互调用。

继承UIBase

我们有 6 个 UI 要进行管理,每个 UI 都应该有显示与隐藏的方法,故抽出其共有属性与方法,实现一个 UIBase,让 6 个 UI 脚本去继承 UIBase 即可。

  1. const {ccclass, property} = cc._decorator

  2. @ccclass

  3. export default class UIBase extends cc.Component {

  4. @property({

  5. displayName: '初始显隐状态'

  6. })

  7. isShowInit: boolean = false

  8. onLoad() {

  9. this.isShowInit ? this.show() : this.hide()

  10. }

  11. show() {

  12. this.node.active = true

  13. }

  14. hide() {

  15. this.node.active = false

  16. }

  17. }

StartMenu制作

拖入对应的 ui 图片完成布局,然后做成预制体。

CocosCreator物理小游戏(二)

声明两个按钮属性,写下几个方法,注意是继承 UIBase 的。

  1. import UIBase from "./UIBase"

  2. import UIManager from "../UIManager"

  3. const {ccclass, property} = cc._decorator

  4. @ccclass

  5. export default class StartMenu extends UIBase {

  6. @property(cc.Node) startButton: cc.Node = undefined

  7. @property(cc.Node) levelSelectButton: cc.Node = undefined

  8. onLoad() {

  9. super.onLoad()

  10. }

  11. show() {

  12. super.show()

  13. }

  14. init(uiManager: UIManager) {

  15. }

  16. }

如下 UML 图,在 StartMenu 中就拥有了这些属性方法。

CocosCreator物理小游戏(二)

结语

视频已经开始更了哦,视频链接为:https://www.bilibili.com/video/BV1ck4y167mR

2020!我们一起进步!O(∩_∩)O~~

微信公众号

CocosCreator物理小游戏(二)

本文分享自微信公众号 - 一枚小工(caizj_cn)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
2年前
Cocos Creator 加载和切换场景(官方文档摘录)
CocosCreator加载和切换场景(官方文档摘录)在CocosCreator中,我们使用场景文件名(可以不包含扩展名)来索引指代场景。并通过以下接口进行加载和切换操作:cc.director.loadScene('MyScene');通过常驻节点进行场景资源管理和参数传递
Stella981 Stella981
2年前
Jenkins系列视频~Jenkins 共享库的基础使用
Jenkins系列视频教程火热制作中,每周二发布(关注Jenkins中文社区哔哩哔哩,查看完整的视频)。本视频中,介绍JenkinsSharedlibrary共享库的基本使用概述Jenkinssharedlibrary也就是流水线共享库,使用 Groovy 编写,用于封装Jenkins流水线(
Wesley13 Wesley13
2年前
KUOKUO的物理小游戏(一)
摘要CocosCreator物理小游戏实战教程开更啦!来跟KUOKUO一起学习吧!开发语言为TypeScript!使用版本CocosCreator版本2.3.4游戏效果!(https://oscimg.oschina.net/oscnet/3356d4530b2640d4b99d703dc2935927
贾蓁 贾蓁
3个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPdownload》http://quangneng.com/4058/Flutter高级进阶实战仿哔哩哔哩APPFlutter是Google开发的一款用于iOS和Android两个平台开发高质量原生UI的移动SDK
何婆子 何婆子
3个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APP的项目背景download》chaoxingit.com/1300/仿制哔哩哔哩(Bilibili)APP是一个令人兴奋且具有挑战性的项目,因为哔哩哔哩是中国最受欢迎的在线视频平台之一,拥有庞大的用户群体和丰富的功
邢德全 邢德全
2个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPdownload》chaoxingit.com/1300/一、项目背景与目标平安吉祥过大年项目背景:Flutter框架:项目基于Flutter框架,这是一个由Google开发的UI工具包,用于在多个平台上构建跨平台
程昱 程昱
2个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPFlutter高级进阶实战仿哔哩哔哩APPquangneng.com/4058/Flutter高级进阶实战仿哔哩哔哩APPFlutter是Google开发的一款用于iOS和Android两个平台开发高质量原生UI的
程昱 程昱
2个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPdownload》quangneng.com/4058/哔哩哔哩APP是一款非常受欢迎的中国大陆视频分享平台,主要以二次元文化为主,同时也涵盖了科技、生活、娱乐等多个领域的原创内容。用户可以在上面观看各类短视频、长
乐和 乐和
1个月前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPdownload》shanxueit.com/1300/Flutter高级进阶实战仿哔哩哔哩APP实现一个仿哔哩哔哩APP的Flutter高级进阶实战是一个具有挑战性和丰富学习价值的项目。以下是一些步骤和技术建议:
郑文 郑文
2星期前
Flutter高级进阶实战 仿哔哩哔哩APP
Flutter高级进阶实战仿哔哩哔哩APPdownload》quangneng.com/4058/Flutter高级进阶实战为啥要仿哔哩哔哩而不是仿抖音仿制哔哩哔哩而不是抖音可能有几个原因:兴趣和目标受众群体不同:开发者可能更感兴趣于哔哩哔哩的功能和特点,