【U3D小游戏】愤怒的小鸟(九)地图选则界面和部分逻辑
【摘要】 自己做一下小时候玩的风靡一时的愤怒的小鸟这个游戏,相信有很多人都在某一段时间沉迷过这个游戏吧~~
前言
自己做一下小时候玩的风靡一时的愤怒的小鸟这个游戏,相信有很多人都在某一段时间沉迷过这个游戏吧~~
1. 制作地图选择界面UI
把滴入关卡选择的UI简单制作一下。
1. 背景
首先我们先切换到地图选则的场景,我这里命名的是Level
。
我们制作一个背景,可以选择和游戏界面的背景一样,我就是,当然你也可以选择其他组合。
- 创建一个UI.Image作为我们的背景
- 将我们需要的背景拖拽或者选择到图片上
- 设置好大小
就像这样:
这样我们的背景就完成了
2. 地图关卡图片设置
在画布Canvas
下创建一个空对象,用于管理各个关卡。
然后随便命名吧,我命名为select
。
地图图集在Iamge文件夹下面,名字叫LEVELSELECTION_SHEET_4
。星星在同一个文件夹,名字叫LEVELSELECTION_SHEET_1
。
先点击图集,然后类型设置成Multiple
,然后点击Apply
确认设置,然后点击Sprite Editor
切割图集。
然后选择好哪个关卡就行了,做好一个,copy换贴图就可以了。
星星是这样的:
2. 界面部分逻辑
找到之前创建的空物体,然后挂在一个脚本组件,名字随意,你自己知道什么意思就行。
/**
* ==========================================
* FileName:#FileName#
* Author:#Name#
* CreatTime:#CreateTime#
* NowPath:#path#
* ==========================================
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SelectLevel : MonoBehaviour
{
public int leverSn = 1;//关卡序号
public Text levelStar;//关卡星星总个数
private bool isLock = false;//关卡是否解锁
private Text starNum;//关卡已获得星星个数
public int noLockStar = 0;//解锁关卡所需要的个数
private GameObject lockUI;
private GameObject starUI;
private void Start()
{
LevelSelect();
}
void LevelSelect()
{
if (leverSn == 1)
{
//如果是关卡1
starNum = transform.Find("level1/star/starNum").GetComponent<Text>();
lockUI = transform.Find("level1/lock").gameObject;
starUI = transform.Find("level1/star").gameObject;
isLock = true;
IsLock();
}
if (leverSn == 2)
{
//如果是关卡2
noLockStar = 10;
starNum = transform.Find("level2/star/starNum").GetComponent<Text>();
lockUI = transform.Find("level1/lock").gameObject;
starUI = transform.Find("level1/star").gameObject;
if (int.Parse(levelStar.text) > noLockStar)
{
isLock = true;
IsLock();
}
}
if (leverSn == 3)
{
//如果是关卡3
noLockStar = 20;
starNum = transform.Find("level3/star/starNum").GetComponent<Text>();
lockUI = transform.Find("level1/lock").gameObject;
starUI = transform.Find("level1/star").gameObject;
if (int.Parse(levelStar.text) > noLockStar)
{
isLock = true;
IsLock();
}
}
}
void IsLock()
{
//判断关卡是否解锁
if (isLock)
{
lockUI.SetActive(false);//锁消失
starUI.SetActive(true);//显示星星
}
}
}
先简单写一点吧,别的以后再写
结语
积少成多,聚沙成塔,每天走一点,在场的路也能走完。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)