• 大小: 11.58MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-29
  • 语言: 其他
  • 标签: unity3d  贪吃蛇  

资源简介

利用unity3d这款游戏制作简单的贪吃蛇小游戏,喜欢的可以下载看下,代码完整,注释友好,每行都有注释

资源截图

代码片段和文件信息

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class foodmaker : MonoBehaviour {
    private static foodmaker _instance;//定义一个静态的私有foodmaker型的变量
    public static foodmaker Instance //提供一个外部访问的静态成员函数,其他脚本无法修改,只能访问,返回一个_instance
    {
        get
        {
            return _instance;
        }
    }

    public int xlimit = 27;//定义食物x轴方向的最大限制,一个单位相当于一个步长step的大小,这个值相当于是坐标上具体的值除以步长得到的值,因为蛇头运动是按照一个步长一个步长的瞬间移动
    public int ylimit = 10;//定义食物y轴方向最大的限制,y轴上下都是10步整个显示区是呈现x,y轴左右对称的,坐标轴原点在显示区中心
    public int xoffset = 10; //这个是左边分数、模式显示区x轴方向的步长宽度
    public Gameobject foodPrefab; //定义食物的预制体
    public Gameobject rewardPrefab; //定义奖励预制体
    public Sprite[] foodSprites;  //定义食物的图片
    private Transform foodHolder; //定义放置食物位置的容器

    void Awake() //开始就唤醒给_instance赋值,不然_istance指向null
    {
        _instance = this;
    }

void Start () {
        foodHolder = Gameobject.Find(“FoodHolder“).transform;//查找到FoodHolder这个定义的容器的位置
        MakeFood(false);//调用食物生成函数,开始时不生成奖励
}
void Update () {

}
    public void MakeFood(bool isReward)//生成食物函数,里面的布尔类型是用来判断是否生成奖励
    {
        int index = Random.Range(0 foodSprites.Length);//从食物图片中随机选出一个,保存随即图片的索引值
        Gameobject food = Instantiate(foodPrefab); //实例化食物预制体
        food.GetComponent().sprite = foodSprites[index];//获取到食物预制体身上的图片组件,将随机选出的图片挂载到食物上
        food.transform.SetParent(foodHolder false); //设置食物的父物体为foodHolder,就是将food放置在foodHolder容器下面
        int x = Random.Range(-xlimit + xoffset xlimit); //设置食物在x轴上的范围
        int y = Random.Range(-ylimit ylimit); //设置食物在y轴上的范围
        food.transform.localPosition = new Vector3(x * 15 y * 15 0);//设置食物的随机生成具体位置,乘以15是因为步长为15,保证蛇头能够触碰到
        if(isReward)
        {
            Gameobject reward = Instantiate(rewardPrefab); //实例化奖励预制体
            reward.transform.SetParent(foodHolder false); //设置奖励的父物体为foodHolder,就是将food放置在foodHolder容器下面
            x = Random.Range(-xlimit + xoffset xlimit); //设置奖励在x轴上的范围
            y = Random.Range(-ylimit ylimit); //设置奖励在y轴上的范围
            reward.transform.localPosition = new Vector3(x * 15 y * 15 0);//设置奖励的随机生成具体位置,乘以15是因为步长为15,保证蛇头能够触碰到

        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-25 02:07  snakes\
     目录           0  2018-08-25 01:55  snakes\.vs\
     目录           0  2018-08-25 01:55  snakes\.vs\snakes\
     目录           0  2018-08-25 01:55  snakes\.vs\snakes\v14\
     文件       75776  2018-08-25 01:58  snakes\.vs\snakes\v14\.suo
     文件       10723  2018-04-07 10:51  snakes\Assembly-CSharp.csproj
     目录           0  2018-08-25 01:55  snakes\Assets\
     目录           0  2018-08-25 01:55  snakes\Assets\Audio\
     文件         191  2017-09-19 20:15  snakes\Assets\Audio.meta
     文件      795564  2017-09-19 19:58  snakes\Assets\Audio\BGM.mp3
     文件         462  2017-09-19 20:16  snakes\Assets\Audio\BGM.mp3.meta
     文件       22050  2017-09-19 19:58  snakes\Assets\Audio\Die.mp3
     文件         462  2017-09-19 20:16  snakes\Assets\Audio\Die.mp3.meta
     文件       11086  2017-09-19 20:11  snakes\Assets\Audio\Eat.mp3
     文件         462  2017-09-19 20:16  snakes\Assets\Audio\Eat.mp3.meta
     目录           0  2018-08-25 01:55  snakes\Assets\Fbx\
     文件         191  2017-09-19 20:46  snakes\Assets\Fbx.meta
     文件       80375  2018-02-27 22:47  snakes\Assets\Fbx\ExpFbx.prefab
     文件         209  2017-09-19 20:43  snakes\Assets\Fbx\ExpFbx.prefab.meta
     文件        2064  2018-02-27 22:47  snakes\Assets\Fbx\ExpMat.mat
     文件         207  2017-09-19 20:28  snakes\Assets\Fbx\ExpMat.mat.meta
     目录           0  2018-08-25 01:55  snakes\Assets\Fonts\
     文件         191  2017-09-19 20:15  snakes\Assets\Fonts.meta
     文件     2984936  2011-12-30 18:16  snakes\Assets\Fonts\Makefont_Yueyuan.otf
     文件         488  2017-09-19 20:16  snakes\Assets\Fonts\Makefont_Yueyuan.otf.meta
     目录           0  2018-08-25 01:55  snakes\Assets\Prefab\
     文件         214  2018-03-27 18:12  snakes\Assets\Prefab.meta
     文件        2972  2018-04-06 18:23  snakes\Assets\Prefab\food.prefab
     文件         232  2018-03-27 22:37  snakes\Assets\Prefab\food.prefab.meta
     文件        3031  2018-04-07 00:54  snakes\Assets\Prefab\Reward.prefab
     文件         232  2018-04-06 18:47  snakes\Assets\Prefab\Reward.prefab.meta
............此处省略1117个文件信息

评论

共有 条评论