999合1超级简易文字菜单组件

本文介绍了如何使用Cocos Creator 3.8.1和TypeScript实现一个超级简易的文字菜单组件。组件包含了菜单的展示、选择、跳转和自定义功能。通过监听键盘事件控制菜单选择,利用属性驱动实现选择效果。文章提供了代码实现和效果演示,适合游戏开发初学者参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

贪吃蛇掌机经典小游戏录屏

引言

超级简易文字菜单组件

大家好,相信大家都玩过那个999合1的游戏,特别是那个菜单

在游戏开发中,往往会有形式各异游戏菜单游戏菜单菜单一样主要是给玩家选择开始游戏、设置、排行榜等功能的。

本文将分享一下笔者在游戏开发中用到的超级简易文字菜单组件

本文源工程可在文末阅读原文获取,小伙伴们自行前往。

1.需求分析

一般游戏菜单组件会包含以下的一些功能:

  • 菜单的展示效果。
  • 菜单的选择效果。
  • 菜单的跳转效果。
  • 菜单的自定义。

下面一起来实现超级简易文字菜单组件

2.超级简易文字菜单组件

1.环境

引擎版本:Cocos Creator 3.8.1

编程语言:TypeScript

2.资源准备

由于是非常简易的文字菜单,本次节目只需要简单的摆一下盘即可,不需要额外的资源

  • UI布局

  • 添加Layout组件以及挂载我们的SuperEasyMenuImpl组件。

  • 设置Label左对齐。

下面一起来写代码。

3.编写代码

首先我们创建一个SuperEasyMenu组件。它的组成如下:

  • 初始化,在start方法中监听键盘事件,控制菜单的选择。
@ccclass('SuperEasyMenu')
export class SuperEasyMenu extends Component {
   

    private curMenu: MenuItem[] = [];
    private lastMenu: MenuItem[] = [];
    private menuLabels: Label[] = [];
    private curSelect: number;

    start() {
   
        this.menuLabels.push(...this.node.getComponentsInChildren(Label));

        input.on(Input.EventType.KEY_DOWN, event => {
   
            if (event.keyCode == KeyCode.ENTER || event.keyCode == KeyCode.SPACE) {
   
                this.selectMenu();
            }
            else if (event.keyCode == KeyCode.ARROW_UP || event.keyCode == KeyCode.KEY_W) {
   
                this.CurSelect = this.CurSelect - 1;
            }
            else if (event.keyCode == KeyCode.ARROW_DOWN || event.keyCode == KeyCode.KEY_S) {
   
                this.CurSelect = this.CurSelect + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亿元程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值