Unity 三消游戏学习
最近看了SIKI的三消游戏实现,跟着做了一遍,由于是PC端的,所以做完不方便展示,故而自己采用EasyTouch插件进行结合,开发了手机版的。
在这里主要说下移植时的移动函数问题。废话少说,先贴代码!
Gesture currentGesture = EasyTouch.current;
if (currentGesture == null)
{
return;
}
else
{
//当点击时,获取当前物体,放入EnterSweet方法
if (currentGesture.pickedObject != null)
{
isMoveEnd = false;
EnterSweet(sweets[currentGesture.pickedObject.GetComponent<GameSweet>().X, currentGesture.pickedObject.GetComponent<GameSweet>().Y]);
if (currentGesture.swipe == EasyTouch.SwipeDirection.Right&&!isMoveEnd)
{
if (currentGesture.pickedObject.GetComponent<GameSweet>().X < xColumn-1)
{
PressSweet(sweets[currentGesture.pickedObject.GetComponent<GameSweet>().X + 1, currentGesture.pickedObject.GetComponent<GameSweet>().Y]); //尝试把另一个物体放入交换列表
ReleaseSweet(); //调用交换方法
isMoveEnd = true;
}
}
else if (currentGesture.swipe == EasyTouch.SwipeDirection.Up && !isMoveEnd)
{
if (currentGesture.pickedObject.GetComponent<GameSweet>().Y >= 1)
{
PressSweet(sweets[currentGesture.pickedObject.GetComponent<GameSweet>().X, currentGesture.pickedObject.GetComponent<GameSweet>().Y - 1]); //尝试把另一个物体放入交换列表
ReleaseSweet(); //调用交换方法
isMoveEnd = true;
}
}
else if (currentGesture.swipe == EasyTouch.SwipeDirection.Down && !isMoveEnd)
{
if (currentGesture.pickedObject.GetComponent<GameSweet>().Y < yRow-1)
{
PressSweet(sweets[currentGesture.pickedObject.GetComponent<GameSweet>().X, currentGesture.pickedObject.GetComponent<GameSweet>().Y + 1]); //尝试把另一个物体放入交换列表
ReleaseSweet(); //调用交换方法
isMoveEnd = true;
}
}
else if (currentGesture.swipe == EasyTouch.SwipeDirection.Left && !isMoveEnd)
{
if (currentGesture.pickedObject.GetComponent<GameSweet>().X >= 1)
{
PressSweet(sweets[currentGesture.pickedObject.GetComponent<GameSweet>().X - 1, currentGesture.pickedObject.GetComponent<GameSweet>().Y]); //尝试把另一个物体放入交换列表
ReleaseSweet(); //调用交换方法
isMoveEnd = true;
}
}
}
}
这是Update中检测每次touch屏幕时,获取的物体,对应GameSweet组件下的编号,然后根据滑动方向,决定与上下左右哪个部分进行交换。这里需要注意的是,要判断好选择物体的X和Y,不要移出边界,其他的就是抄代码了。
再次记录下,EasyTouch里判定滑动方向的函数。currentGesture.swipe == EasyTouch.SwipeDirection.Down,然后我增加了一个是否单次移动完成的bool变量,并在每次移动后重置它,保证每次只移动一次。
Unity 三消游戏学习相关推荐
- unity 三消游戏源码展示图
unity三消游戏源码 游戏展示图 源码下载
- Unity 2D 游戏学习笔记(1)
在学习了一段时间的C#后,终于开始学习unity啦,按照unity官方的教程一步一步的来开始学习unity的各种操作. 首先,先用2D Game Kit 来简单熟悉2D游戏的制作,因为是外网打开的比较 ...
- Unity 2D 游戏学习笔记(4)
三.瓦片地图 这次我们来对背景地图的设置,需要用到unity中的瓦片工具Tile.首先在官方教程中下载所需的瓦片资源图片Tile,放入之前存放Ruby图片的Sprites文件夹中.官方教程:世界设计 ...
- Unity从头开始开发增强现实(AR)游戏学习教程
使用Unity 2021构建增强现实飞镖游戏 学习从头开始开发增强现实(AR)游戏,使用AR基金会,货币化,发布游戏玩商店 Build a Augmented Reality Dartboard Ga ...
- Unity优化手机游戏学习教程
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.69 GB |时长:6h 44m 创 ...
- Unity创造没有代码的游戏学习教程
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小:17.4 GB |时长:17h 18m 你会学 ...
- Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games
Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...
- Unity 2D 游戏开发 官方视频学习顺序
unity2D的官方tutorial上已经有了不少的教程视频,都看一遍的话最起码也知道unity能干什么了. 自学这段时间里我翻译不少,之前也发过,都放到b站了,基本都是1080p的,而且压制后文件不 ...
- 每天学习一点新知识(一)——Unity开发游戏的拆包
每天学习一点新知识(一)--Unity开发游戏的解包 用了CSDN有一段时间了,但一直都没有写过blog,只是在输入,没有输出.而且一直主要都是在查一些作业.题解什么的,还是希望自己能够多学到一些新东 ...
- 【Unity 3D 学习】 《Unity 3D 游戏开发》(第二版 宣雨凇著) 书中一些名字注解
前言 在学习<Unity 3D 游戏开发>这本书的过程中碰到了一些术语,比如序列化.反序列化.反射等,这些基本都是常见的程序员行话,但是感觉自己对这些术语总是一知半解,为了让自己更清楚地知 ...
最新文章
- [小功能]按阅读数、评论数、评论时间查看首页随笔
- webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具
- 织梦二次开发写php,PHP教程—DedeCMS二次开发(二)
- Leetcode 5. 最长回文子串(Longest Palindromic Substring)
- isinstance_Java类class isInstance()方法及示例
- sift计算描述子代码详解_浅谈SIFT特征描述子
- python其他字符转换为ascii码
- 日期选择器_FPGA逻辑部分Verilog实验-选择器电路
- xshell与虚拟机VMware中centos6.7系统突然连不上
- Visual Basic .NET中操作MsAgent
- Android MD5加密
- android ios 对比 组件_Android、iOS历史版本对比
- 建站系列:有云服务器和域名怎么建设网站?
- Tp5 实现 think-queue 队列操作
- 青少年qsnctf [登录试试] 攻略
- EOS主网上线后imtoken钱包和麦子钱包的操作
- 如何使用微信开发者工具调试在微信端访问的网页
- 实战|Python爬取字节跳动1W+招聘信息
- bzoj4864: [BeiJing 2017 Wc]神秘物质
- 浩客XM:面对增长困局,抓体验真的有用吗?
热门文章
- python画反比例函数_拟合一个反比例函数
- 加息对银行股影响|加息是对银行股的利好
- elasticsearch7.5.0 集群搭建
- 为什么客户端最后还要等待2MSL?
- Oracle系列之--Profile
- Android进程系列1---进程基础
- 四个技巧教你解决电磁干扰问题
- java实现获取当前日期、农历、周
- linux gst qt,c – 致命错误:gst / gst.h:没有这样的文件或目录(使用CMake)
- 问道手游服务器修改密码,问道手游账号安全设置及找回密码教程 玩转问道