前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyTouch☀️ 八、贪吃蛇游戏的实现思路

EasyTouch☀️ 八、贪吃蛇游戏的实现思路

作者头像
星河造梦坊官方
发布2024-08-14 17:26:01
880
发布2024-08-14 17:26:01
举报
文章被收录于专栏:星河造梦坊专栏

贪吃蛇资源包下载:传送门

🟥 实现贪吃蛇的主要API

1️⃣ 获取EasyTouch当前手势

代码语言:javascript
复制
Gesture currentGesture = EasyTouch.current;

2️⃣ 判断当前手势方向

代码语言:javascript
复制
currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Up
currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Down
currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Left
currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Right

🟧 贪吃蛇添加减速的实现方法

该功能有两种实现方法。

1️⃣ 方法一:挂载Button事件方法

将如下方法注册到EasyTouch Button的On Down()和On Up()事件上去即可。

代码语言:javascript
复制
    public void ButtonDown()
    {
        if (MainUIController.Instance.isPause == false && isDie == false)
        {
            CancelInvoke();
            InvokeRepeating("Move", 0, velocity - 0.2f);
        }
    }

    public void ButtonUp()
    {
        if (MainUIController.Instance.isPause == false && isDie == false)
        {
            CancelInvoke();
            InvokeRepeating("Move", 0, velocity);
        }
    }

2️⃣ 方法二:代码获取手势方法

代码语言:javascript
复制
        //SpeedUpButton为Button的名字
        if (ETCInput.GetButtonDown("SpeedUpButton") && MainUIController.Instance.isPause == false && isDie == false)
        {
            CancelInvoke();
            InvokeRepeating("Move", 0, velocity - 0.2f);
        }

        if (ETCInput.GetButtonUp("SpeedUpButton") && MainUIController.Instance.isPause == false && isDie == false)
        {
            CancelInvoke();
            InvokeRepeating("Move", 0, velocity);
        }

🟨 可能出现的BUG

EasyTouch的Button键或许或有bug,我们根据文档提示按步骤操作

If you found problems in the behavior of the buttons with ETCInput.GetButtonDown or ETCInput.GetButtonUp,please force the script execution order like this : 1- Open Script Execution Order (Edit => Project Settings => Script Execution Order) 2- Add ETCButton in first 3- Add yours scripts that use ETCInput.

翻译过来即是:

任意一个脚本- Inspector面板- Script Execution Order- 首先添加ETCButton,其次添加用到ETCInput的脚本- Apply

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 实现贪吃蛇的主要API
    • 1️⃣ 获取EasyTouch当前手势
      • 2️⃣ 判断当前手势方向
      • 🟧 贪吃蛇添加减速的实现方法
        • 1️⃣ 方法一:挂载Button事件方法
          • 2️⃣ 方法二:代码获取手势方法
          • 🟨 可能出现的BUG
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档