U3D小游戏愤怒的小鸟地图选则界面和部分逻辑

Posted 布小禅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了U3D小游戏愤怒的小鸟地图选则界面和部分逻辑相关的知识,希望对你有一定的参考价值。

前言

自己做一下小时候玩的风靡一时的愤怒的小鸟这个游戏,相信有很多人都在某一段时间沉迷过这个游戏吧~~

1. 制作地图选择界面UI

把滴入关卡选择的UI简单制作一下。

1. 背景

首先我们先切换到地图选则的场景,我这里命名的是Level

我们制作一个背景,可以选择和游戏界面的背景一样,我就是,当然你也可以选择其他组合。

  1. 创建一个UI.Image作为我们的背景
  2. 将我们需要的背景拖拽或者选择到图片上
  3. 设置好大小

就像这样:

这样我们的背景就完成了

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);//显示星星
        
    

先简单写一点吧,别的以后再写

结语

积少成多,聚沙成塔,每天走一点,在场的路也能走完。

以上是关于U3D小游戏愤怒的小鸟地图选则界面和部分逻辑的主要内容,如果未能解决你的问题,请参考以下文章

U3D小游戏愤怒的小鸟地图选则界面和部分逻辑

U3D小游戏愤怒的小鸟部分游戏逻辑

U3D小游戏愤怒的小鸟部分游戏逻辑

U3D小游戏愤怒的小鸟部分游戏逻辑

U3D小游戏愤怒的小鸟小特效

U3D小游戏愤怒的小鸟小特效