今天又和群里的高手谈论了下这个问题,carlos.yang和airdamper给了我很大的帮助,给我提出了用射线检测法的可行性和优点。射线检测 射线碰到碰撞体后会返回一个检测信息 包含碰到的物体的名字之类,就是返回一个引用型的变量,这个变量就可以当做你射到那个物体来用。1、使用Camera.ScreenPointToRay得到一条射线,2、然后使用射线检测函数Physics.Raycast,然后会得到RaycastHit 信息,根据信息可以判断你到底点中了什么。Camera.ViewportPointToRay 也行不过这个是基于视口的,超出了你的程序框框就无效。不过这个我没试,由于时间仓促,等有空再试吧。
修改后:
1 var gui : GUITexture;
2 var find : GUITexture;
3 //var GameObjectName;
4 function Awake(){
5 find=GameObject.Find("guiTexture").GetComponent(GUITexture);
6 find.enabled=false;
7 }
8
9 function OnMouseDown()
10 {
11 //find=GameObject.Find("guiTexture").GetComponent(GUITexture);
12 find.enabled=true;
13 Debug.Log(gameObject.name);
14 www(gameObject.name);
15 }
16
17 function www(Cubename){
18 // Store the original pixel inset
19 // and modify it from there.
20 var originalPixelRect = gui.pixelInset;
21
22 // Update the progress bar by scaling the gui texture
23 // until we reach the end
24 var stream=new WWW(""+Cubename+".unity3d");
25 while (!stream.isDone)
26 {
27 gui.pixelInset.xMax = originalPixelRect.xMin
28 + stream.progress * originalPixelRect.width;
29 yield;
30 }
31 // Update it one last time before loading
32 gui.pixelInset.xMax = originalPixelRect.xMax;
33 stream.LoadUnityWeb();
34 }
35 @script RequireComponent (GUITexture)
分享到:
相关推荐
在Unity3D中,我们通常使用`Application.LoadLevelAsync()`方法来异步加载新的场景,这允许游戏在加载新场景的同时继续执行其他操作,从而提高用户体验。然而,确保场景加载完成并在正确的时间进行后续操作是非常...
- 动态加载:Unity3D支持异步加载,通过Unity3D的AsyncOperation接口,可以在游戏运行时按需加载场景,提高用户体验。 4. 资源缓存与卸载: - 缓存:加载的Asset Bundles会被缓存,以供后续再次使用,避免重复...
本资源将深入探讨Unity3D AB包的打包与不同加载方式。 1. **AssetBundle打包** 在Unity中,我们可以通过AssetBundle窗口或脚本进行资源打包。首先,选择需要打包的资源,然后右键选择“Create Asset Bundle”,...
Unity 3D是一款强大的跨平台游戏开发引擎,广泛应用于制作3D游戏...通过这个"Unity 3D新手教程",你将逐步建立起对Unity 3D的基本理解和实践经验,为后续的进阶学习打下坚实基础。开始探索这个充满无限可能的3D世界吧!
《捕鱼达人Unity3D小游戏开发详解》 ...总之,“捕鱼达人Unity3D小游戏”是一个全面了解和掌握Unity3D开发的好起点,通过实际操作,不仅能提升编程技能,也能锻炼游戏设计思维,为后续的项目开发打下坚实基础。
在Unity3D游戏开发中,数据序列化是一个关键部分,它允许我们将对象的状态保存到文件中,以便在后续运行时重新加载。XML和JSON是两种常见的数据格式,它们被广泛用于存储和传输数据。本教程将深入探讨如何在Unity3D...
通过学习和分析这个DEMO,初学者可以了解Unity3D的基本工作流程,包括场景搭建、对象创建、脚本编写、交互设计、物理模拟等方面,为后续更复杂的游戏开发打下坚实基础。同时,它也可以作为进阶开发者测试新功能或...
Unity3d支持多种动态资源加载方式,其中两种常见方式为: 1. **Resources.Load()**:直接从项目Assets文件夹中加载资源,适用于小型资源或不需要频繁更新的场景。 2. **AssetBundle**:一种更灵活的资源管理方案,...
Unity3D 是一款广泛应用于游戏开发的跨平台引擎,以其强大的3D和2D图形处理能力以及易学易用的特性而受到开发者们的喜爱。在Unity中,脚本是实现游戏逻辑和交互的关键,JavaScript曾是Unity支持的三种编程语言之一...
### Unity3D网页之间传递...通过以上步骤,我们可以成功地在Unity3D项目中实现网页与Unity3D应用之间的参数传递,进而实现场景切换、位置导航等交互功能。此外,添加的小地图功能也大大增强了游戏的可玩性和用户体验。
通过以上四章的学习,你已经掌握了Unity3D的基本操作和编程基础,为后续的高级功能和游戏开发打下了坚实的基础。接下来,你将可以继续深入学习动画系统、光照与阴影、UI设计、网络编程、性能优化等主题,逐步提升...
Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于制作...通过这个“Unity3D入门教程中文版”,初学者不仅可以掌握Unity3D的基本操作,还能了解游戏开发的基本流程,为后续的进阶学习和实际项目开发打下坚实的基础。
总结来说,Unity3D的EasySave2插件是一个强大而全面的数据保存解决方案,它简化了游戏数据管理的过程,让开发者能够专注于游戏的设计和创新,而不是繁琐的存档代码。无论你是新手还是经验丰富的开发者,EasySave2都...
7. **资源管理**:Unity3D支持资源预加载、动态加载和释放,这在大型游戏中非常重要。在"SimpleGame"中,可能包含了音频、纹理、模型等资源的加载和释放代码。 8. **场景管理**:游戏可能包含多个场景,如主菜单、...
- **纹理管理**:将所有模型中用到的图片资源统一存放在“Textures”目录下,便于后续在Unity3D中管理。 - **分类导出**:根据模型类型(如地面、植被、楼房)或场景区域(如小区、学校)进行分类导出,有助于Unity...
Unity3D是一个强大的跨平台游戏开发引擎,其资源管理是游戏开发中的关键环节。资源管理涉及到如何有效地存储、加载和卸载游戏中的各种资产,包括模型、纹理、音频、脚本等,以优化性能和降低内存占用。在Unity3D中,...
《极推Unity3D插件详解与应用》 在Unity3D游戏开发中,与用户的交互和信息推送是至关重要的,这有助于提升用户体验并增强游戏的黏性。Jpush-unity3d-plugin是一款专为Unity设计的极光推送插件,它提供了在Unity3D...
根据题目中的描述,“unity3D直升机控制源码,场景飞出优美”,我们可以推测该源码主要涉及Unity3D环境下的直升机控制逻辑实现,并且在视觉效果上能够呈现出优美的飞行场景。下面将从以下几个方面对直升机控制源码...
Unity的AssetBundle功能可以动态加载游戏资源,减少初始加载时间。 11. **发布与多平台支持**:Unity 3D支持Windows、Mac、iOS、Android等多个平台的发布。开发者需要根据目标平台进行适当的优化和调整。 通过分析...
Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于制作2D、3D游戏以及互动式内容。对于初学者来说,掌握Unity3D的脚本知识是至关重要的,因为它是实现游戏逻辑和交互的核心部分。本资源"unity3d脚本入门"正是针对...