unity的js语言我想使用unity3d触发器器来实现脚本的开关但没成功,求大神指导

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&新手求教unity3d创建js脚本,monodevelop打开时报错_百度知道
新手求教unity3d创建js脚本,monodevelop打开时报错
提问者采纳
把连接Detach掉。 这两种法子连接Unity断点调试功能可谓是程序员必备的功能了,进行调试就行了如果你还有什么不懂的,再把进程Attach上去,等需要调试的时候,可以百度搜下,不过没试过。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity,都是零基础开始,我建议还是使用第二种附加进程的方式吧:首先肯定是先要把脚本编辑器指定为MonoDevelop了。好了,简单的说说做法吧。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug。而用Visual Studio是不行的:编程回忆录,他们现在正在录制这方面的教程,但很多人可能不知道。Unity3D支持编写js和c#脚本,其实Unity3D也能对程序进行断点调试的,由浅入深,编写脚本的时候。所以。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器
来自团队:
其他类似问题
为您推荐:
monodevelop的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁(转)unity3D iPhone开发问题汇总
先决条件&我刚收到iPhone开发的许可,但我之前从来没有为iPhone开发。我该怎么办呢?&答:下载的SDK ,启动和运行苹果开发者网站,建立您的team,devices和provisioning。我们提供了基本的步骤列表让你开始。&用unity建造的游戏可否运行在iPhone的模拟器?&答:不可以。iPhone模拟器对于unity不是非常有用,因为它没有模拟iPhone所有的交互方式,而且它模拟的性能和运行在iPhone上是不一样的。您可以直接在unity内部测试游戏,iPhone将作为一个遥控器使用,当它运行在iphone的远程应用端(unity remote)上时。然后当您准备好要测试性能和优化游戏时,就将其直接发布(publish)到iPhone中。&unity Remote我该怎样使用unity Remote?&答:在您的unity iPhone安装目录,您会看到一个文件夹,名为“unity Remote” 。这包含了XCode项目,您可以运行和编译unity Remote安装到您iphone上。安装后,请确保您的设备和开发机是通过WiFi连接到同一网络。在unity 运行时启动iphone Remote,并在出现的列表中选择您的计算机。现在,只要您点击编辑器中的播放模式,您的iphone设备将作为一个远程控制端用来开发和测试游戏。&我在xcode里产生了一个奇怪的错误,当部署unity Remote到设备时&答:unity Remote的identifiler和您提供的provisioning profile不匹配。您必须手动更改此签名在您XCode项目。identifiler必须和您提供的provisioning profile相符。&如果你有一个授权的AppID,上面标有星号作为结束(例如######. com.mycompany .* ),你可以跳过这一段。如果您没有创建AppID,那么你就必须在iphone开发中心的program portal中建立一个。转到program portal,选择AppIDs选项卡上,单击添加编号按钮(右上角) ,输入*在app id名称和您通常使用的签名(例如com.mycompany )之后 。添加新AppID到你的provisioning profile中,请下载并重新安装它。不要忘了之后重新启动XCode。如果您有任何麻烦请查询如何配置授权章节。打开iphone Remote 项目在XCode中 。在菜单中选择项目“project-&Edit Active Target”unity Remote“ ,将打开一个”unity Remote“信息窗口。选择Properties选项卡。更改identifiler属性字段com.unity3d.UnityRemote为您的AppID。其次是“ UnityRemote ” 。例如,如果您provisioning profile包含######. com.mycompany .* 这个AppID,当更改identifiler字段为com.mycompany.UnityRemote 。在Build菜单中选择清除所有目标,然后编译并再次安装unity Remote。&(不要忘了要更改identifiler,然后才能安装unity Remote到您的设备上)unity特性&我如何使用触摸屏和加速度计?&答:在scripting reference中,你会找到一些iPhoneInput类,还有iPhoneSettings和其他一些。这些新增的iPhone类负责钩起设备指定功能。&难道iPhone支持unity的地形引擎?&答:在unity iPhone中目前不支持地形。在iPhone上您需要绘制low poly地形。地形系统没有这个功能,所以使用low poly是更好的选择。&我现有的粒子系统运行在iPhone上时很慢。我应该怎么办?&答: iPhone拥有相对较低的fillrate 。如果您的粒子效果覆盖大部分的屏幕,而且是multiple layers的-这样即使最简单的shader,也能让iphone傻眼。我们建议把您的粒子效果baking成纹理序列图。然后在运行时可以使用1-2个粒子,通过动画纹理来显示它们。这种方式可以取得很好的效果,以最小的代价。&我是否可以在游戏中,使用复杂的物理仿真?&答:iPhone运算物理仿真代价很高,我们建议您尽可能少使用它们。物理需要做很多浮点数运算不适合iPhone的ARM处理器。如有可能,完全避免使用MeshColliders,但必要时它们是可用的。要提高性能,使用一个低的固定帧率在 Edit“Time”-&&Fixed delta Time&。建议控制在10-30。在降低物理帧速率的同时,可以使用刚体插值以实现平滑的动作效果。为了实现完全流畅的帧率而不卡机,最好是选择Fixed deltaTime value base,使您的游戏在iPhone上获得一个平均的帧率 。建议要么1:1或一半的帧速率。例如,如果您获得每秒30张,您应该使用15或30 fps为物理固定刷新率( 0.033或0.066 )&使用UnityGUI的考虑&使用UnityGUI将会对我的游戏性能产生什么影响吗?&答: 当有许多交互控制时,UnityGUI的使用代价是相当昂贵的,。理想的方法是限制使用UnityGUI游戏菜单,或在游戏运行中尽量少用GUI控制。重要的是要注意,每个对象脚本的OnGUI ( )调用将需要更多的处理器时间,即使它是一个空OnGUI ( )块。最好的方法是禁止此脚本调用GUI元件,如果它没有使用。为此,您可以标记脚本为Enabled=false。&UnityGUI 有没有其他的使用技巧?&尽可能少尝试使用GUILayout。如果您的GUILayout不是都从一个OnGUI调用,您可以停用所有GUILayout渲染使用MonoBehaviour.useGUILayout =这能双倍提高GUI图形渲染性能。最后,尽量少用GUI元件,在绘制三维场景的同时。设备的图形性能&什么是网格量化?&答:在iPhone中内存带宽是另一个宝贵的资源,(因为CPU和GPU需要共享带宽) 。 iPhone支持32 ,16和8bit类型的vertex components。量化网格图形数据到这些指定类型,可以尽量压缩顶点数据尺寸(鉴于它可以容忍一些用户指定错误)。由于访问数据量的减少,可以提高性能。&我可以在iphone上使用bumpmapped 吗?&答: iPhone拥有介于TNT2和GeForce1之间的片段处理能力。它可以加或乘两个纹理在一起,但法线贴图只能歇菜。&基本的顶点计数原则是什么?&答:为了实现每秒30张在iPhone上,你应该让每帧顶点计数明显低于7000个。每个场景顶点数量则没有限制。只要您确保不超过7000个顶点在同一可见画面中,就能保证unity的高帧率。使用新的遮挡筛选功能,可以确保只有7000顶点可见。&Xcode&我收到了很多编译错误Xcode 。这是怎么回事?&答:请确认您选择了“Device”模式,而不是“simulator”。有时,当我点击“Build and go” ,我看到奇怪的错误。&答:这是一个Xcode的Bug ,并且不破坏您的项目。只要按一下确定以绕过消息,您的游戏应该功能完全正常。&我该如何设定我的应用程序图标在iphone主页屏幕?&答:你需要从Xcode中处理这个 。有一些简单的步骤如下:&创建您的57x57像素png图像。将其命名为“ Icon.png ” ,并将其放置在Xcode项目的根目录&在Xcode ,右键单击该项目文件中“Group&File”&选择Add...-&Existing files并添加您的图片。&找到Info.plist在Xcode ,双击它&改变“Icon file”属性值为“ Icon.png ”&如何设置启动画面为我的应用(只支持unity iPhone专业版)&答:你需要在Xcode中实现 。有一些简单的步骤如下:&创建一个320x480像素的png图片&其命名为“ Default.png ” ,并将其放置在Xcode项目的根目录&在Xcode ,右键单击该项目文件中“Group&File”&选Add...-&Existing Files并添加您的图片。
这里有哪位大哥了解 Unity3D开发吗?
本人应届生有把握C, C++,以及数据结构知识,前两天面试一家iphone游戏公司,昨天面谈,待遇不好,工作时间灵活,但是要求 先试用一个星期后自学必须有效果,即 把握C#,使用unity3D做些简单的东西玩玩,那么就可以继续留下来试用。 如果能接受这个要求,就去报到。
请问,一个星期学习Unity3D,能做出点简单的
unity3d ios开发 调试的流程? 我现在处于前期预研状态,
想在MacOSX下用unity3d开发ipad上的应用,
请问下,unity3d开发完的应用是否需要xcode编译?
暂且不说够买一个开发账号发布到真机调试,我需要在ios7版本中的模拟器中调试该怎么操作?
另ios7模拟器是在xcode5中自带的吗?还是需要另外
unity3d ios开发 调试的流程? 我现在处于前期预研状态,
想在MacOSX下用unity3d开发ipad上的应用,
请问下,unity3d开发完的应用是否需要xcode编译?
暂且不说够买一个开发账号发布到真机调试,我需要在ios7版本中的模拟器中调试该怎么操作?
另ios7模拟器是在xcode5中自带的吗?还是需要另外
有人有Unity3D 3.5.2f2 mac的安装文件吗 我找到了破解文件,但是找不到这个版本的引擎,苦逼,必须mac下的u3d才能生成ios的代码
------解决方案-------------------- 你可以到官方去下载3.5.6的formac版本的,然后到这里下载mac破解补丁就可以了
1:官方下载地址:
/unity/down
unity3d游戏开发之成功实现对数据库读取登陆
1,创建一个数据库表,我们就以 test数据库为例,数据库里建一个tb_User表, tb_User里有User_Name , User_Pass 字段.
2,创建一个验证用户基本信息的asp.net页面,页面名字是:Default.aspx
后台代码如下:
using Syste
unity 3d 调用ios中的方法的问题 xcode 5 ios7 unity4.2.1(mac) 根据Unity3D研究院之Unity3D回馈IOS高级界面消息(十)
/archives/521
的步骤想实现Unity3d调用ios中的方法。
但是一直没有效果。
这是绘制GUI,已正常显示
Unity3d 热更新之Android平台
来点儿干货。目前网上绝对没有的。需要以下基础点。 1.代码如何编译成.dll?这个网上有很多的。 2.在unity3d中如何使用第三方的.dll库文件。这个网上也有很多。 3.如何把asset打包成.ab.这个网上也有很多。。 4.在unity3d中如何加载.ab包中的资源,这个网上也有很多。 5.在Android平台如何使用反射来进行热更新。这个网
Unity3D 学习教程 3 了解工程面板
首先我们来了解一下工程面板
file 是文件目录 hierarchy 层次结构 创建Unity3D自带控件的地方
--------------------------------------------华丽的分割线--------------------------------------------
Unity3D 如何在安卓手机上播放视频
以前只会在电脑上通过Unity3D播放视频,研究了下发现通过Unity3D在手机上播放视频也非常简单。现介绍如下。
void OnGUI()
if (GUI.Button(new Rect(0,0,150,80),&播放/继续&))
unity3d 理解刚体(Rigidbody)和碰撞体(Collider)以及触发器(Is Trigger),边学边更新
刚体(Rigidbody)的官方(摘自Unity3d的官方指导书《Unity4.x从入门到精通》)解释如下: Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才
ANDROID应用中嵌入Unity3D视图(展示3D模型)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a),谢谢支持!
效果展示:
开篇废话: 我现在所在的Team每周需要一个人给大家介绍一个
unity3d转换成xcode打包ipa时候,可以设置程序在后台运行吗 如题!
每次当我手机自动黑屏的时候,与服务器端的通信就会断了。可以设置到程序在后台也能运行吗?
------解决方案--------------------
ios仅有限支持几种模式的后台服务,譬如说音乐播放等,具体是哪些,可以去查下苹果文档。
类似PC上面的那样后台服务是不支持的,除非是越狱手机。
iPhone开发问题汇总
Q:[让tableview滚动到顶端] 从另一个view进入到一个tableview时,总是会自动滚动到先前的滚动条位置,我想让它每次进入这个tableview时,都滚动回最顶端,应该用哪个消息呢? A: 方法一:使用 scrollToRowAtIndexPath 方法二:- (void)scrollToTop { [self.tableView setContentO
Unity中加入Android项目的Build步骤
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a),谢谢支持!
有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Unity3D视图(展示3D模型) 有的项目需要在Unity中加入Android功能,例如3D语音天气球(源码分享)——创建可旋转的3D球
iPhone开发问题集锦(一)
javaeye终于又开了,赶紧发篇blog 1.tableView添加背景:SDK有个属性backgroundView,直接创建一个imageView赋值即可,模拟器上运行正常,但运行在3.1.2的手机上崩溃,发现这个属性在IOS 3.2之后才加入的,为了版本兼容,只能采用其他办法,俺就在tableView的superView上加背景,效果
Iphone开发问题集
1.设置tag方便使用 在cell中放入多个控件的时候使用tag很方便的区分。在其他的地方使用tag也方便编程。呵呵
2.今天试验一个关于删除的问题,也就是直接在cell中添加一个按钮,点击按钮实现删除操作,这个应该是Apple不允许的,没有设置到编辑模式,我使用的是直接reload数据源的方法,但是发现一个问题,也就是在选中该行的时候我想保存该行的行数,但是我保存不了
现在搞ios手游开发有必要用iPhone3GS测试么? 本人准备搞ios手游开发,想兼顾新老iPhone机型,不知现在iPhone3GS用户数占多少比例,有必要用iPhone3GS真机来测试么?
还想问一下,由于iPhone3、iPhone4及iPad4三种屏幕的分辨率相差很大,是不是要准备3种不同比例的素材?
ios 游戏开发 iPhone
------解决方案---
现在搞ios手游开发有必要用iPhone3GS测试么? 本人准备搞ios手游开发,想兼顾新老iPhone机型,不知现在iPhone3GS用户数占多少比例,有必要用iPhone3GS真机来测试么?
还想问一下,由于iPhone3、iPhone4及iPad4三种屏幕的分辨率相差很大,是不是要准备3种不同比例的素材?
------解决方案-------------------- 不用了吧。。我们开发
[每日100问][]iphone开发笔记,今天你肿了么
可否先学开发,然后再花钱注册苹果开发账号?
~~~各位劳驾~问一个关于Unity3D导出工程的报错信息~~~
button问题?急,求高手指教!
真机调试出现问题了
如何调用系统自带的邮箱
Xcode4无法安装,提示需要Mac OS X 10.6.6,但是。。。
uiscrollview
xcode打包ipa的问题 我的应用程序在用unity3d打包成apk之后只有70m左右,但是用xcode发布成ipa之后却有170m。图片资源本身大小120m左右。
请问这个是发布在设置图片的问题吗?
还是图片资源本身的问题呢?
------解决方案-------------------- 主要是unity发布到xcode的时候会生成一个静态链接库.a的文件,这个文件占了很大的空间,个人觉
现在搞ios手游开发有必要用iPhone3GS测试么? 本人准备搞ios手游开发,想兼顾新老iPhone机型,不知现在iPhone3GS用户数占多少比例,有必要用iPhone3GS真机来测试么?
还想问一下,由于iPhone3、iPhone4及iPad4三种屏幕的分辨率相差很大,是不是要准备3种不同比例的素材?
ios 游戏开发 iPhone
------解决方案---
IOS应用程序开发问题 问一下各位iphone开发的高手,我现在要做一个iphone视频的软件,之前我做过一个asp.net网页版的,我有一个插件,只要把这个插件利用&object&&/object&放到asp.net网页中,然后用户电脑装了那个.msi的插件包就可以使用了,那我要怎么把这个插件放到iphone的软件中呢?
iphone ios 程序开发
新手对于iPhone开发环境等入门问题解答汇总
0 如何注册iDP帐号
同类问题:iDP能不能在XP注册? 我 每次都在完善个人信息的时候提示网页有错误?我想下载例子但是要求登录?
注册地址 (不要用IE,用Firefox或者Safari,打开之后点Register)
1 iPhone能否在Windows中开发
新手请教个问题,有关cocos2d-x 最近玩上一款手游,部落站争,无意当中发现有个游戏助手,得知里面用lua脚本集成编写的,请教下大侠们,像这种漂浮在游戏内的游戏助手能用cocos2d开发么?小弟刚接触手机app开发,对这些还不太懂,请大侠们给指条路,用cocos2d开发手游辅助是否可行?该用cocos的哪个产品开发合适呢?小弟谢过了!…
------解决思路-----------------
转载 iPhone开发 - 3D - 建立3D界面(上)
iPhone开发 - 3D - 建立3D界面(上)
苹果公司于07年发布的iPhone是手机业一大革命性的手机终端,iPhone操作系统是:Mac OS X,固件升级由去年发布1.0到现在的2.0固件.iPhone屏幕大小3.5英寸,分辨率为:320x480,触摸屏,完全用手指就可以完成所有的操作,
求教一个2D下三角形和三角形的碰撞检测方法 求给一个数学公式或者思路什么的。有代码最好了
------解决方案--------------------
用cocos2d--里的 box类
------解决方案-------------------- 如果是游戏的话,最好使用cocos2d或者unity3d去做。都有固定的碰撞检测方法。
iphone 开发入门问题 请问iphone开发需要什么工具啊?本人有苹果电脑就是不知道怎么用,有没有大大给点建议啊
iphone 开发
------解决方案-------------------- xcode(字数不够)
------解决方案-------------------- xcodeappstore里面免费下网易有国外的视频
搭建android开发环境问题汇总
1.搭建环境都需要那些软件?
你可以去我的网盘下载 android软件提取码 ddb6
2.软件准备好了,我要如何搭建环境? 请参考 安卓模拟器Android SDK安装完整图文教程
3.eclipse在线安装ADT失败怎么办,无法访问 http://dl-/and
unity接入移动基地问题,android包 最近在接入移动基地的sdk,非常不好接,现在是出现找不到他们那个jar里面的文件,但是已经按照文档吧他们提供的jar包放到runtime地下了。有没有接过的朋友。急等,哎
------解决思路---------------------- 太高端了,求介绍啊,,,
------解决思路---------------------- 你好,我也遇到了同样
iPhone @2x与@3x的图片加载问题
经测试: 假设有两张图片名为:test_t@2x.png 、test_t@3x.png
使用initWithContentsOfFile
NSString*path = [[NSBundlemainBundle]pathForResource:@&test_t@2x&&nbsp
[开发问题] 求解ipad开发问题(急):动画效果没有做完用户就旋转屏幕出现bug 各位,求解ipad开发中的一个问题,问题是这样的:我的项目支持横竖屏,进入应用程序时做了一个动画效果,因为同样的动画,横竖屏坐标尺寸是不同的,当ipad处于横屏动画状态时,用户旋转屏幕处于竖屏状态,这个时候仍然做的是横屏动画效果,这是个很大的bug,不知道有没有遇到过这种情况的,求指点一下。我的个人想法是,能不能在
iphone开发简单问题 #import &Foundation/Foundation.h& @interface Bird:NSObject {
- (void) - (void)
@implementation Bird
-(void)eat
android手机虚拟按钮开发问题点
最近做了手机虚拟按钮开发,和华为荣耀的虚拟按钮类似,效果如下(屏幕底下部分):
功能描述:手机开机,“虚拟按钮”自动隐藏,当从手机下边沿往上滑动时候,就自动出现! 没有操作的话,3
3D语音天气球——在Unity中使用Android语音服务
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a),谢谢支持!
开篇废话:
这个项目准备分四部分介绍:
一:创建可旋转的“3D球”:3D语音天气球(源码分享)——创建可旋转的3D球
二:通过天气服务,从网络获取时实天气信息并动态生成“3D球”:3D语音天气球
Connection并发问题
Connection lock = getConnection(); lock.setAutoCommit(false); lock.createStatement().execute(&select * from zhaojianyong for update&); final Connection connection = getConne
iphone开发有用的代码例子:
iphone开发有用的代码例子:
/bbs/read.php?tid-12269-uid-10646.html
iPhone开发中的问题整理(一)
看到很刚开始开发iPhone软件的朋友问很多问题,其实同样的问题我也碰到过, 所以抽时间把能想到的或者碰到的问题汇总一下, 一来可以给自己做个备忘也可以和朋友们分享探讨。
1. iPhone SDK 开发能不能使用C / C++ 语言?
Answer: iPhone SDK的开发的基础框架是基于cocoa库的, Objective-C 是cocoa的开发语
安卓网页版开发问题???(急急急) 我们是一家新成立的电商公司,目前公司网站是网页版,现在想开发手机APP,之前做过官网的APP,但是官网简单,如果开发电商APP,很复杂,现在有个想法,就是我们先做一个适合手机浏览的网页版,然后直接在APP里嵌套进来,但是问题来了,首页是可以的,但是再点击里面的链接,就直接跳到浏览器里去了,就不是APP了,现在就是有没有办法能做到,直接能嵌套网页版的页面进来,并且
Mac桌面程序 app开发问题NSBrowser 用法 我设置Browser 的Max Cols 为2。 使用代理 - (int)browser:(NSBrowser *)sender numberOfRowsInColumn:(int)column {}
我发现第一次初始化的时候 仅仅返回第一行的数据。第二行没有初始化。
我是不是再那里没有设置?还是?我需要 第二行有些默认值。
安卓新手开发问题,前辈SOS
本帖最后由 beyoyo 于
22:13:25 编辑
win764位系统
CPU:I52520
eclipsenula
最新版本AVD
我下面建立后,启动就一直黑屏,没有任何错误日志!启动之后就一样一直黑屏(如图2),但是我换个低Unity3D内部!编程入门脚本编程入门
Unity外部的脚本,是始末附加自定义脚本对象到游戏物体组成的。在脚本对象内部不同的函数被特定的变乱调用。最常用的列在下面:
这个函数在渲染一帧之前被调用。这里是大局限游戏行为代码被实行的地址,除了物理代码。
FixedUpdate
这个函数在每个物理时间步被调用一次。这是处置基于物理游戏行为的地方。
在任何函数之外的代码:
在任何函数之外的代码在物体被加载的时间运转。这个没关系用来初始化脚本形态。
注意:文档的这个部分假定你是用Javascript,参考用C#编写脚本获取如何使用C#和Boo编写脚本的信息。
你也能定义事件句柄。它们的称号都以On发端,(例如OnCollisionEnter).为了稽查完整的预定义事件的列表,参考MonoBehaviour文档。
大多半游戏物体的操作是通过游戏物体的Transform和/或Rigidbody来做的。熟行为脚本内部它们可以分散通过transform和rigidbody访候.所以假如你想绕着Y轴每帧旋转5度,你可以如下写:
functionUpdate(){
transform.Rotate(0,5,0);
如果你想向前搬动一个物体,你应当如下写:
functionUpdate(){
transform.Translate(0,0,2);
Time类蕴涵一个极端紧要的类变量,称为deltaTime.这个变量包含从上一次调用Update或FixedUpdate(根据你是在Update函数还是在FixedUpdate函数中)到而今的时间量。
所以对待下面的例子,改正它使这个物体以一个恒定的速度旋转而不依赖于帧率:
functionUpdate(){
transform.Rotate(0,5*Time.deltaTime,0);
移植物体:
functionUpdate(){
transform.Translate(0,0,2*Time.deltaTime);
如果你加或减一个每帧调换的值,你应该将它与Time.deltaTime相乘。当你乘以Time.deltaTime时,你现实表达:我想以10米/秒移动这个物体而不是10米/帧。这不单仅是由于你的游戏将独立于帧率运行,同时也是因为疏通的单位容易判辨。(10米/秒)
另一个例子,如果你想随着时间填充光照的规模。下面的表达式,以2单位/秒改变半径.
functionUpdate(){
light.range+=2.0*Time.deltaT
当通过力处理刚体的时候,你通常不用用Time.deltaTime乘,因为引擎一经为你探讨到了这一点。
访问其他组件
组件被附加到游戏物体。附加Renderer到游戏物体使它在场景中渲染,附加一个Camera使它变为相机物体。所有的脚本都是组件,因为它们能被附加到游戏物体。
最常用的组件可以作为粗略成员变量访问:
可如下访问
Camera(onlyoncameraobjects)
Light(onlyonlightobjects)
对于完整的预定义成员变量的列表,查看Component,Behaviour和MonoBehaviour类文档。如果游戏物体没有你想取回类型的组件,上面的变量将被设置为null。
任何附加到一个游戏物体的组件或脚本都可以通过GetComponent访问。
transform.Translate(0,1,0);
GetComponent(Transform).Translate(0,1,0);
注意transform和Transform之间大大写的区别.前者是变量(小写),后者是类或脚本名称(大写).大小写不同使你能够从类和脚本名中区分变量。
应用我们所学,你可以使用GetComponent找就任何附加在同一游戏物体上的脚本和组件。请注意要使下面的例子能够就业,你必要有一个名为OtherScript的脚本,其中包含一个DoSomething函数。OtherScript脚本必需与下面的脚本附加到肖似的游戏物体上。
//这个在同一个游戏物体上找到名为OtherScript的脚本
//并调用它上面的DoSomething.
functionUpdate(){
otherScript=GetComponent(OtherScript);
otherScript.DoSomething();
访问其他游戏物体
大多数初级的代码不仅需要操作一个物体。Unity脚本接口有各种办法来找到并访问其他游戏物体和组件。在下面,我们假定有一个名为OtherScript.js的脚本附加到场景的游戏物体上。
functionDoSomething(param:String){
print(param+"withfoo:"+foo);
<font COLOR="#.通过检视面板赋值援用.
你可以通过检视面板赋值变量到任何物体。
//变换拖动到target槽的物体
vartarget:T
functionUpdate()
target.Translate(0,1,0);
你也可以在检视面板中公然到其他物体的引用。下面你可以拖动一个包含OtherScript的游戏物体到检视面板中的target槽。
//设置在检视面板中赋值的target变量上的foo,调用DoSomething.
vartarget:OtherS
functionUpdate()
//设置target物体的foo变量
target.foo=2;
//调用target上的DoSomething
target.DoSomething("Hello");
<font COLOR="#.通过物体层次定位.
对于一个已存在的物体,可以通过游戏物体的Transform组件来找到子和父物体:
//找到脚本所附加的
//游戏物体的子"Hand"
transform.Find("Hand").Translate(0,1,0);
一旦在层次视图中找到这个变换,你可以使用GetComponent来获取其他脚本.
//找到名为"Hand"的子.
//在附加到它上面的OtherScript中,设置foo为2.
transform.Find("Hand").GetComponent(OtherScript).foo=2;
//找到名为"Hand"的子.
//调用附加到它上面的OtherScript脚本中的DoSomething.
transform.Find("Hand").GetComponent(OtherScript).DoSomething("Hello");
//找到名为"Hand"的子.
//然后应用一个力到附加在hand上的刚体.
transform.Find("Hand").rigidbody.AddForce(0,10,0);
你可以循环所有的子。
//变换的所有子向上移动10个单位!
for(varchild:Transformintransform)
child.Translate(0,1,0);
参考Transform类文档获取更多信息。
<font COLOR="#.根据名称或标签定位.
你可以使用GameObject.FindWithTag和GameObject.FindGameObjectsWithTag搜寻具有特定标签的游戏物体。使用GameObject.Find根据名称查找物体.
functionStart()
//服从名称
vargo=GameObject.Find("SomeGuy");
go.transform.Translate(0,1,0);
//按照标签
varplayer=GameObject.FindWithTag("Player");
player.transform.Translate(0,1,0);
你可以在毕竟上使用GetComponent,在找到的游戏物体上获得任何脚本或组件。。
functionStart()
vargo=GameObject.Find("SomeGuy");
go.GetComponent(OtherScript).DoSomething();
varplayer=GameObject.FindWithTag("Player");
player.GetComponent(OtherScript).DoSomething();
一些特殊的物体有敏捷方式,如主相机使用Camera.main。
<font COLOR="#.作为参数通报.
一些事件新闻在事件中包含细致信息。例如,触发器事件传递碰撞物体的Collider组件随处理函数。
OnTriggerStay给我们一个到碰撞器的引用。从这个碰撞器我们可以获取附加到其上的刚体。
functionOnTriggerStay(other:Collider){
//如果另一个碰撞器也有一个刚体
//应用一个力到它上面!
if(other.rigidbody){
other.rigidbody.AddForce(0,2,0);
大概我们可以通过碰撞器获取附加在同一物体上的任何组件。
functionOnTriggerStay(other:Collider){
//如果另一个碰撞器附加了OtherScript
//调用它上面的DoSomething.
//大多数时候碰撞器不会附加脚本,
//所以我们需要首先检讨以防止null引用异常。
if(other.GetComponent(OtherScript)){
other.GetComponent(OtherScript).DoSomething();
注意通过上述例子中的other变量,你可以访问碰撞物体中的任何组件。
5.一品种型的所有脚本
使用Object.FindObjectsOfType找到所有具有相同类或脚本名称的物体,或者使用Object.FindObjectOfType找到这个类型的第一个物体。
functionStart()
//找到场景中附加了OtherScript的自便一个游戏物体.
varother:OtherScript=FindObjectOfType(OtherScript);
other.DoSomething();
Unity使用Vector3类同一表示扫数3D向量。3D向量的不同组件可以通过x,y和z成员变量访问。
varaPosition:Vector3;
aPosition.x=1;
aPosition.y=1;
aPosition.z=1;
你也能够使用Vector3组织函数来同时初始化所有组件.
varaPosition=Vector3(1,1,1);
Vector3也定义了一些常用的常量值.
vardirection=Vector3.//与Vector3(0,1,0);相同
单个向量上的操作可以使用下面方式访问:
someVector.Normalize();
使用多个向量的操作可以使用Vector3类函数:
theDistance=Vector3.Distance(oneVector,otherVector);
(注意你必须在函数名之前写Vector3.来通告Javascript在哪里找到这个函数.这适用于所有类函数。)
你也可以使用凡是数学操作来安排向量。
combined=vector1+vector2;
查看Vector3类文档获取完整操作和可用属性的列表。
成员变量&全局变质变量
定义在任何函数之外的变量是一个成员变量。在Unity中这个变量可以通过检视面板来访问。任何留存在成员变量中的值也可以主动随工程保存。
varmemberVariable=0.0;
上面的变量将在检视面板中夸口为名为"MemberVariable"的数值属性。
如果你设置变量的类型为一个组件类型(例如Transform,Rigidbody,Collider,任何脚本名称,等等.)然后你可以在检视面板中通过拖动一个游戏物体来设置它们。
varenemy:T
functionUpdate()
if(Vector3.Distance(enemy.position,transform.position)&10){
print("Isensetheenemyisnear!");
你也可以创办公有成员变量。私有成员变量可以用来存储那些在该脚本之外不可见的状态。私有成员变量不会被保存到磁盘并且在检视面板中不能编辑。当它被设置为调试形式时,它们在检视面板中可见。这许可你就像一个实时更新的调试器一样使用私有变量。
privatevarlastCollider:C
functionOnCollisionEnter(collisionInfo:Collision){
lastCollider=collisionInfo.
你也可以使用static关键字创建全局变量。
这创造了一个全局变量,名为someGlobal。
//‘TheScriptName.js‘中的一个动态变量
staticvarsomeGlobal=5;
//你可以在脚本内部像普通变量一样访问它
print(someGlobal);
someGlobal=1;
为了从另一个脚本访问它,你需要使用这个脚本的名称加上一个点和全局变量名。
print(TheScriptName.someGlobal);
TheScriptName.someGlobal=10;
实例化,复制一个物体。包含所有附加的脚本和整个层次。它以你祈望的方式维系引用,到外部物体引用的克隆层次将保持完备,在克隆层次上到物体的引用将映照到克隆物体。
实例化是难以相信的快和非常有用的。因此最大化地使用它是必要的。
例如,这里是一个小的脚本,当附加到一个带有碰撞器的刚体上时将毁灭它本身并实例化一个爆炸物体。
varexplosion:T
//当碰撞产生时销毁我们自己
//并生成一个爆炸预设
functionOnCollisionEnter()
Destroy(gameObject);
vartheClonedExplosion:T
theClonedExplosion=Instantiate(explosion,transform.position,transform.rotation);
实例化通常与预设一切使用。
文章来源于:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 unity3d触发器 的文章

 

随机推荐