网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月09日漏签0天
unity3d吧 关注:116,291贴子:560,302
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2
  • 20回复贴,共2页
  • ,跳到 页  
<<返回unity3d吧
>0< 加载中...

回复:<教程>unity3d小地图制作方法 unity5.0.1 uGUI

  • 取消只看楼主
  • 收藏

  • 回复
  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
创建Canvas,名字随便。我的小地图是和MainMenu公用一个Canvas的,你不必。

然后在刚创建的Canvas下面创建Image,我的命名是MiniMapMask,你随意(我怎么这么随和呢)

她的孩儿们有如图几个,Direction(指示方向),ZoomInButton,拉近镜头,ZoomOutButton,拉远镜头。
所需Icon如下

MiniMapMask检视面板

Direction下的Image的检视面板,在这里声明一下,Direction是个空的RectTransform,用来放置方向控制脚本,她的子物体是Image,来显示Icon。

两个Button的检视面板


  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以上弄好之后就是调整MiniMapMask的位置使其和之前的小地图重合。至此小地图的搭建工作就做好了,下面就是如何让它起作用,下一部分就是代码了,主要就是缩放地图和方向指示,很简单。


2025-05-09 19:01:20
广告
  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
现在把代码部分贴上来
两个脚本,一个是用于zoom,一个用于方向。
新建C#脚本命名为ZoomMiniMap,将其挂载到MinimapCamera,参考前面的MiniMapCamera检视面板。脚本如下
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ZoomMiniMap : MonoBehaviour {
public Transform playerIcon;
public float speed = 10f;
Camera c;
bool canZoomIn;
bool canZoomOut;
float ratio;
void Start ()
{
c = GetComponent<Camera> ();
canZoomIn = false;
canZoomOut = false;
ratio = playerIcon.localScale.x / c.orthographicSize;
}
// Update is called once per frame
void Update ()
{
if (canZoomIn)
{
c.orthographicSize -= speed * Time.deltaTime;
playerIcon.localScale -= (new Vector3(ratio,ratio,0f)) * speed * Time.deltaTime;
}
else if (canZoomOut)
{
c.orthographicSize += speed * Time.deltaTime;
playerIcon.localScale += (new Vector3(ratio,ratio,0f)) * speed * Time.deltaTime;
}
c.orthographicSize = Mathf.Clamp (c.orthographicSize, 30f, 300f);
playerIcon.localScale = new Vector3 (Mathf.Clamp (playerIcon.localScale.x, ratio * 30f, ratio * 300f), Mathf.Clamp (playerIcon.localScale.x, ratio * 30f, ratio * 300f), 1f);
}
public void ZoomIn()
{
canZoomIn = true;
}
public void ZoomOut()
{
canZoomOut = true;
}
public void UnZoom()
{
canZoomOut = canZoomIn = false;
}
}


  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
新建C#脚本,命名为Direction,挂载到Direction


并将你的Player拖放进Player.
代码如下
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Direction : MonoBehaviour {
public Transform player;
RectTransform tr;
void Start () {
tr = GetComponent<RectTransform> ();
}
void Update ()
{
Quaternion rotation = Quaternion.identity;
rotation.eulerAngles = new Vector3 (0f, 0f, player.rotation.eulerAngles.y);
tr.rotation = rotation;
}
}


  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
分别给ZoomInButton和ZoomOutButton添加Event Trigger组件,设置如下
ZoomInButton

ZoomOutButton

至此教程全部完成,如有疑问请致电10086,谢谢。


  • 夜来晎上
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有时间我想把我吃的国外的一个Planet Gravity(球体引力)的教程吐一下,不知道大家有没有兴趣(我草,好恶心,~~~~~~可是我喜欢~~~)。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2
  • 20回复贴,共2页
  • ,跳到 页  
<<返回unity3d吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示