unity3d 23

unity3D获取某天的0点和23点59分59秒 大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。有时候会用到一些不经常用的api所以没事记录一下,方便使用不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒。 阅读详情

minmap

小地图的计算方式还有大小有问题 


Minmap.cs

using UnityEngine;
using System.Collections;

public class Minmap : MonoBehaviour {
	GameObject plane;
	GameObject cube;
	float mapWidth;
	float mapHeight;
	float widthCheck;
	float heightCheck;
	float mapcube_x =0;
	float mapcube_y =0;
	bool keyUp;
	bool keyDown;
	bool keyLeft;
	bool keyRight;
	public Texture map;
	public Texture map_cube;
	// Use this for initialization
	void Start () {
		plane = GameObject.Find("Plane");
		cube = GameObject.Find ("Cube");
		float size_x = plane.GetComponent<MeshFilter> ().mesh.bounds.size.x; //??
		float scal_x = plane.transform.localScale.x;
		float size_z = plane.GetComponent<MeshFilter> ().mesh.bounds.size.z;
		float scal_z = plane.transform.localScale.z;

		mapWidth = size_x * scal_x;
		mapHeight = size_z * scal_z;

		widthCheck = mapWidth / 2;
		heightCheck = mapHeight / 2;
		check ();

	}
	void OnGUI(){
		keyUp=GUILayout.RepeatButton("向前移动");
		keyDown=GUILayout.RepeatButton("向后移动");
		keyLeft=GUILayout.RepeatButton("向左移动");
		keyRight=GUILayout.RepeatButton("向右移动");
		GUI.DrawTexture (new Rect (Screen.width - map.width, 0, map.width, map.height),map);
		GUI.DrawTexture (new Rect (mapcube_x, mapcube_y, map_cube.width, map_cube.height), map_cube);
	}
	// Update is called once per frame
	void Update () {
	
	}
	void FixedUpdate(){
		if (keyUp) {
			cube.transform.Translate(Vector3.forward * Time.deltaTime * 5);
			check();
		}
		if (keyDown) {
			cube.transform.Translate(-Vector3.forward * Time.deltaTime * 5);
			check();
		}
		if (keyLeft) {
			cube.transform.Translate(-Vector3.right * Time.deltaTime * 5);
			check();
		}
		if (keyRight) {
			cube.transform.Translate(Vector3.right * Time.deltaTime * 5);
			check();
		}
	}
	void check(){
		float x = cube.transform.position.x;
		float z = cube.transform.position.z;
		if (x >= widthCheck) {
			x =widthCheck;
		}
		if (x <= -widthCheck) {
			x = -widthCheck;
		}
		if (z >= heightCheck) {
			z = heightCheck;
		}
		if (z <= -heightCheck) {
			z = -heightCheck;
		}
		cube.transform.position = new Vector3 (x, cube.transform.position.y, z);
		mapcube_x = (map.width / mapWidth * x) + ((map.width / 2) - (map_cube.width / 2)) + (Screen.width - map.width);
		mapcube_y = map.height - ((map.height/mapHeight * z)+(map.height/2));
	}
}

搞定计算方式 了  期间又犯了 坐标原点不一致导致的计算错误   与教程不一样是由于  plane与cube 都不在原点 计算值时得考虑当前坐标


新的代码 计算上改了很多 

using UnityEngine;
using System.Collections;

public class Minmap : MonoBehaviour {
	GameObject plane;
	GameObject cube;
	float mapWidth;
	float mapHeight;
	float widthCheck;
	float heightCheck;
	float mapcube_x =0;
	float mapcube_y =0;
	float planePostion_x;
	float planePostion_z;
	bool keyUp;
	bool keyDown;
	bool keyLeft;
	bool keyRight;
	public Texture map;
	public Texture map_cube;
	float size_x;
	float size_z;
	float scal_x;
	float scal_z;
	// Use this for initialization
	void Start () {
		plane = GameObject.Find("Plane");
		cube = GameObject.Find ("Cube");
		size_x = plane.GetComponent<MeshFilter> ().mesh.bounds.size.x; //默认长宽
		scal_x = plane.transform.localScale.x;  //当前缩放
		size_z = plane.GetComponent<MeshFilter> ().mesh.bounds.size.z;
		scal_z = plane.transform.localScale.z;
		//float csize_x =
		mapWidth = size_x * scal_x;  //模型尺寸
		mapHeight = size_z * scal_z;

		planePostion_x = plane.transform.position.x;  //plane的x,z坐标
		planePostion_z = plane.transform.position.z;  

		widthCheck = mapWidth / 2;  //边界值  其实就是 250  不过实际判定时得加上当前坐标 还有cube的长宽
		heightCheck = mapHeight / 2;
		check (); //边界也有问题 


	}
	//plane.GetComponent<Renderer>().bounds.size.x 返回真实模型尺寸
	void OnGUI(){
		keyUp=GUILayout.RepeatButton("向前移动");
		keyDown=GUILayout.RepeatButton("向后移动");
		keyLeft=GUILayout.RepeatButton("向左移动");
		keyRight=GUILayout.RepeatButton("向右移动");
		GUI.DrawTexture (new Rect (Screen.width - mapWidth*0.2f, 0,mapWidth*0.2f,mapHeight *0.2f),map);
		//gui图片自动嵌套???
		GUI.DrawTexture (new Rect (mapcube_x, mapcube_y,0.02f*mapWidth*0.2f,0.02f* mapHeight*0.2f), map_cube);
		GUILayout.Label (cube.transform.position.x + "\n" + cube.transform.position.z);
		GUILayout.Label (mapcube_x + "\n" + mapcube_y);
	}
	// Update is called once per frame
	void Update () {
	
	}
	void FixedUpdate(){
		if (keyUp) {
			cube.transform.Translate(Vector3.forward * Time.deltaTime * 50);
			check();
		}
		if (keyDown) {
			cube.transform.Translate(-Vector3.forward * Time.deltaTime * 50);
			check();
		}
		if (keyLeft) {
			cube.transform.Translate(-Vector3.right * Time.deltaTime * 50);
			check();
		}
		if (keyRight) {
			cube.transform.Translate(Vector3.right * Time.deltaTime * 50);
			check();
		}
	}
	void check(){
		float x = cube.transform.position.x;
		float z = cube.transform.position.z;
		if (x >= (widthCheck + planePostion_x - 5)) {
			x =widthCheck + planePostion_x-5;
		}
		if (x <= (planePostion_x - widthCheck+5)) {
			x = planePostion_x - widthCheck+5;
		}
		if (z >= (planePostion_z + heightCheck-5)) {
			z = planePostion_z + heightCheck-5;
		}
		if (z <= (planePostion_z - heightCheck+5)) {
			z = planePostion_z - heightCheck+5;
		}
		cube.transform.position = new Vector3 (x, cube.transform.position.y, z);
		mapcube_x = Screen.width - mapWidth * 0.2f + ((x - (planePostion_x - 250)) / 500) * mapWidth * 0.2f;
		mapcube_y = mapHeight*0.2f- ((z - (planePostion_z - 250)) / 500) * mapHeight * 0.2f;
	}
}


【从零开始学产品经理】项目立项实战(1)——基本方案与可行性分析:基于微信小程序的记账本 主要阶段:立项-设计-开发-测试-上线-运营-总结。 阅读详情

相关推荐

LSTM模型股价波动率预测(含Python代码)

源代码文件可在gzh’finance褪黑素'回复【24012203】获取。

celiaweiwei的博客 3774

Unity3D基础23:TrailRenderer特效

  前文:https://blog.youkuaiyun.com/Jaihk662/article/details/86750789(Transform组件) 一、TrailRenderer组件简介与拖尾材质球 Trail即拖尾,添加拖尾方法:菜单Component→Effects→Trail Renderer 默认拖尾效果如下: Unity3D中所有以"Renderer"为后缀进行命名的组件,...

加载中... 4652

从RadixTree到哈希表:深入对比SGLang和vLLM的Prefix Cache实现差异

本文深入对比了SGLang与vLLM在大语言模型推理服务中实现Prefix Cache(前缀缓存)的两种核心方案。SGLang采用基于Radix Tree的RadixAttention,支持任意长度前缀的精确匹配与灵活复用;vLLM则采用基于哈希表的方案,深度集成于PagedAttention,实现简洁但要求块级精确对齐。文章剖析了二者在设计哲学、内存管理、适用场景及集群级优化(如Prefix Cache Aware Routing)上的关键差异,为高性能LLM服务的技术选型提供决策依据。

blockchain9miner的博客 954

Unity3d Ugui 23图集Sprite Atlas

一:版本变化 图集Sprite Packer在 Unity 2020.1以及以后的版本不再作为精灵打包模式的可用选项。以后创建的任何新项目在打包纹理时将默认使用 Sprite Atlas打包图集。旧版的图集使用请参考https://blog.youkuaiyun.com/HexianWHH/article/details/119463004?spm=1001.2014.3001.5501 二:安装和开启 1:安装 我使用的是2020.3.13f1c1新版的unitySprite Atlas是插件形式的。 导.

HexianWHH的专栏 1万+

Xilinx Blockset Counter计数器模块使用及参数配置

本文详细介绍了Simulink中Xilinx Blockset库Counter模块的使用以及参数说明。

白码王子小张的博客 1093

在线考试系统源码+数据库+word+ppt(高分毕业设计)

本系统通过Spring Cloud实现微服务拆分,将授权、考试、监控等功能解耦,既保证了系统的扩展性,也便于后期维护。基于OAuth2.0的单点登录,解决多服务统一认证问题;考试与练习模式分离,满足不同场景需求;集成Druid与Hystrix,保障系统监控与稳定性。

weixin_44355158的博客 737

unity3d-23种设计模式全解析

http://www.jianshu.com/nb/4161593 2016.08.03 09:26字数 1203阅读 584评论 0喜欢 14 希望大家能共同学习,交流 谢谢支持zero(QQ:1269064684) 一、设计模式的分类总体来说设计模式分为三大类:创建型模式:共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式:共七种:适...

weixin_30784945的博客 105

微信小程序一键登录和临时code用JWT进行微信用户授权

2、跨域进行调用接口时候,唯一标识UnionID和会话密钥 session_key如果还是用的我自己的,会出现无法调用微信服务器接口,就需要将唯一标识和会话密钥换成前端的,才可以,我自己认为这样很不合理,暂时还没有找到原因。2、能够获取到openId,但是也只能获取到openid,无法获取用户的相关信息,经过查阅官网发现,现在微信那边已经将用户信息加密,需要调用提供的接口进行解密然后获取用户数据,问题原因已经找到解决方法,还未即使更改。1、我这是一台电脑实现的前端调用后端接口,不用考虑跨域的问题。

qq_67653492的博客 5711

【入门-23-教程】Unity3D

关于Unity 力

weixin_69360830的博客 1121

SIPVicious实战指南:从零开始掌握VoIP渗透测试(Kali Linux环境)

本文为SIPVicious实战指南,详细介绍了在Kali Linux环境下进行VoIP渗透测试的完整流程。从环境准备与工具安装开始,逐步讲解如何使用svmap扫描SIP服务器、svwar枚举PBX分机号,以及svcrack进行密码安全测试,并整合svreport生成报告。旨在帮助安全从业者从零开始,系统掌握这套经典开源工具,在授权范围内有效评估VoIP系统的安全性。

weixin_29327977的博客 535

Ubuntu图形界面崩溃?从tty到GUI的终极修复指南

本文提供了Ubuntu图形界面崩溃后进入tty的终极修复指南。详细介绍了如何诊断显示管理器(如LightDM或GDM3)状态,并通过重装、切换显示管理器、修复依赖、系统升级及排查显卡驱动等核心方案,逐步恢复GUI。帮助用户从命令行界面高效修复桌面环境,避免数据丢失。

vulkan6gpu的博客 778

Unity3D & C# 设计模式--23

Unity3D & C#Design Patterns 23 design patterns. Creational Patterns 1. Abstract Factory抽象工厂 创建几个相似的类的一个实例 2. Builder生成器 分离对象构造与它的表示 3. Factory Method工厂方法

游戏路上的小学生 5557

OTN设备核心知识速记

本文章为工作笔记,若有错误,还需大家指正。不定期更新。

Hiddengold的博客 2648

Unity3d 周分享(23期 2019.11.10 )

选自过去1~2周 自己所看到外文内容:https://twitter.com/unity3d 和各种其他博客来源吧 1\如何批量删除Unity Missing组件 Unity2019中似乎准备了专用的方法 GameObjectUtility.RemoveMonoBehavioursWithMissingScript Unity20...

游戏路上的小学生 2715

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Unity3D逆向基础教程第五课

课程名称:Unity3D逆向基础教程第五课课程类型:Unity3D课程内容:Unity3D指令之IF指令课程时长:23分钟课程作者:Sarkozy课程大小:76.8m课程格式:flv课程备注:本节课可能因为麦克风问题,没有将声音录制完毕,但是看完视频还是会理解的0.0课程下载: 链接: http://pan.baidu.com/s/1mg3MP1e 密码: kd79

Sarkozy Blog 1889

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Unity3d 在 twitter 转载(周报) 2018.9.23

选自过去1~2周的内容: https://twitter.com/unity3d   1) cedec2018unity 上的一个PPT 可以阅读一下: 可以看到Unity现在最新的一些功能,将来后续版本可能会有的功能 https://www.slideshare.net/UnityTechnologiesJapan/cedec2018unity   2) 在 2017.1+ 版本之后可以...

游戏路上的小学生 745

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Unity3d 周分享(13期 2019.3.23 )

选自过去1~2周 自己所看到外文内容:https://twitter.com/unity3d 和各种其他博客来源吧 csdn 的东西, 不想吐槽, 笔记的拷贝 还需要重新传图片, 代码排版等问题, 垃圾~ 1、 看到 “Unity Asynchronous完全理解学习小组” 视频的笔记 参考视频和文章 工作线程 - YouTube 使用UniTask(U...

游戏路上的小学生 3894

Unity3D仿星露谷物语开发23之拿起道具的动画

当点击库存栏上可以carry的道具时,首先arms替换为carry状态,同时手上拿着被点击的道具。当再次点击同一个道具时,ams替换为idle状态,手上放下之前的道具。这个最主要的是要学会使用AnimatorOverrideController类。

benben044的专栏 1157

Unity3d自学 - 2017年2月18日 23:59:41

从2017年2月13日起,本人决定要独自开发一款游戏。主要目的是为了学习,把这个开发当作业余爱好。有这种爱好,总比打游戏看视频要好。 首先申明一下本人的情况:本人目前是一名还未毕业的实习生,在一下游戏公司里实习,担任后台管理系统开发工作的一号人物。公司人少,目前只有我一个人负责这块开发。所以我就是一号人物了。。每天大概是9点左右下班,只有周日放假。晚上回到出租房洗澡等各种琐碎事干完后,大概就22

业余独立游戏开发者-郭Cinling的博客 556

Unity3D编辑器操作技巧23-自带事件系统

S

SuperLinmeng的博客 245

【Unity3D与23种设计模式】单例模式(Singleton)

GoF中定义: “确认类只有一个对象,并提供一个全局的方法来获取这个对象” 使用单例模式的前提 它只能产生一个对象且不能够被继承 单例模式的优点: 提供方便获取唯一对象的方法 可以限制对象的产生数量 单例模式的缺点: 容易造成设计思考不周和过度使用的问题 违反了“开-闭原则”(OCP) using System.Collections; using U...

weixin_30635053的博客 144

Unity3d程序方面的细节及优化

关于Unity3d程序方面的细节及优化 转载请注明地址:http://www.cnblogs.com/Vincentblogs/p/4083028.html QQ群:346738352 Unity技术交流群,讲纯粹的技术。 (基于移动开发) 1、每次创建的脚本对于用不到的Start(),.Update()函数都可以删除掉,尤其后者,即使什么都不做也会在更新。 2、不要做复杂的...

192

【Unity3D与23种设计模式】享元模式(Flyweight)

GoF中定义: “使用共享的方式,让一大群小规模对象能更有效地运行” 享元模式一般应用在游戏角色属性设置上 游戏策划需要通过“公式计算”或者“实际测试”等方式找出最佳的游戏属性 因此,在游戏系统中建立一个管理方式来建立和存储属性信息就显得尤为重要 对象中那些只能读取不能写入的共享部分被称为“内在状态” 如:最大生命(MaxHP)、移动速度(MoveSpeed)等属性 ...

weixin_30519071的博客 215

【Unity3D与23种设计模式】策略模式(Strategy)

GoF中定义: “定义一组算法,并封装每个算法,让它们之间可以彼此交换使用。 策略模式让这些算法在客户端使用它们时能更加独立。” 游戏开发过程中 不同的角色会有不同的属性计算方法 初级解决方法便是:if else,不够再来几个if else 高级点儿的就用switch case配合enum 对于小型项目或者快速开发验证用的项目而言,这么做是没问题的 但是开发规模或产品化...

weixin_30443731的博客 301
上一篇: unity 特殊文件夹
下一篇: 小记
Tonight_Alive
博客等级 码龄12年 16粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值