unity脚本调试
㈠ unity3d怎么启动程序调试
using System.Diagnostics; private string filename = @"C://Start.exe"; private string s; if (GUI.Button(new Rect(0, 50, 150, 50), "Start Start.exe")) { string[] args = new string[1]; StartProcess(filename, args); } public bool S...
㈡ 如何调试 unity3d 游戏
调试C#脚本的方式
有以下方式:
(1)利用断点调试。断点设置和取消的办法与在控制台应用程序中利用断点调试C#代码的办法相同。
(2)通过Debug类提供的方法在后台输出调试信息。该办法会直接在VS2015输出窗口以及Unity的控制台(Console)中输出调试信息。
(3)在Unity的播放预览模式下,直接修改检视器(Inspector)中显示的变量的值,观察不同值的效果。
三、本节例子的设计步骤
1、运行Unity,新建ch06Demo工程。
2、在Project视图的Assets下添加一个名字为“6.2”的子文件夹,然后将默认的场景保存到该文件夹下,场景名称为“Scene2.unity”。
3、在Assets/6.2文件夹下鼠标右击添加一个文件名为ch06_2_1.cs的C#脚本,然后双击它在VS2015中打开该脚本,将其改为下面的内容:
using UnityEngine;
using System.Collections;
public class ch06_2_1 : MonoBehaviour
{
public int age = 20;
private string text = "";
private string myName = "";
void OnGUI()
{
//用标签显示文本
GUILayout.Label(string.Format("你的年龄是:{0}\n", age));
GUILayout.Label("请输入你的名字:");
//在文本区域中输入名字
text = GUILayout.TextField(text);
//按钮
if (GUILayout.Button("提交"))
{
myName = text;
}
//当myName不为空的时候,说明我们已经提交了名字,则显示名字
if (!string.IsNullOrEmpty(myName))
{
GUILayout.Label("提交成功,名字:" + myName);
}
}
}
4、按<Ctrl>+S保存该脚本。
5、切换到Unity,观察Project下的文件夹,会发现6.2文件夹下有2个文件:
5、在层次视图中鼠标右击,添加一个空的GameObject:
6、选中GameObject,以便在检视器中观察它。然后将ch06_2_1.cs拖放到检视器中得到下面的结果:
这时你就会发现,脚本中声明为public的age变量,在GameObject的检视器视图中被自动封装成了Age属性,并显示在脚本的下面。
说明:这就是为什么我们在C#脚本中用小写字母开头的age来声明这个变量,因为Unity会将自动其封装为用大写字母开头的同名属性。
6、按【播放】按钮进入预览模式,即可看到运行效果:
7、在文本框中输入名字,单击【提交】按钮,就会在界面中的下一行显示出名字信息。
8、拖放检视器中【Age】属性的值(按住鼠标左右拖放),你就会发现该值在场景中也会跟着变化:
9、再次按【播放】按钮结束预览模式。
10、切换到VS2015,再要插入代码处鼠标右击,选择【Implement MonoBehabious】,在弹出的窗口中,勾选Start(),如下图所示:
单击【OK】,它就会自动在当前光标处添加Start()方法。
11、将Start()改为下面的代码:
public void Start()
{
Debug.Log("Age:"+age);
//还可以输出下面的分类信息
Debug.Log("普通信息");
Debug.LogWarning("警告信息");
Debug.LogError("错误信息");
}
12、选择【Attach to Unity and Play】:
然后单击它,此时,它就会自动从VS2015切换到Unity,并在Unity的Console选项卡中输出下面的内容:
当然了,这样做只是为了演示如何在VS2015中直接启动Unity下的播放预览模式,并在Unity的Console中输出不同级别的信息(一般、警告、错误)。在实际的代码中肯定不会这样做,而是应该根据具体情况,决定在后台输出哪一类的调试信息。
13、单击Unity的【播放】按钮结束预览模式。
14、切换到VS2015,结束运行,然后注释掉Start()方法中的语句,单击【保存】或者【全部保存】:
好了,通过这个例子,你应该知道如何在VS2015中调试C#脚本了吧。
另外,你也可以直接在VS2015的解决方案资源管理器中项目的对应文件夹下添加新的C#脚本或者其他资源,或者创建新的子文件夹(VS2015中项目文件夹的结构和Unity工程中Project下文件夹的结构完全相同),保存后它都会自动将其同步到Unity的Assets下的对应文件夹中,这个“同步”过程完全是自动的,你所做的就是“创建”、“编辑”、“保存”。
㈢ 如何使用VS2008 调试Unity3D 的C#脚本
你那是个什么东西啊。C#不是脚本语言啊。
㈣ 怎么样用VS2015直接调试unity3D
调试C脚本的方式 有以下方式: (1)利用断点调试。断点设置和取消的办法与在控制台应用程序中利用断点调试C代码的办法相同。 (2)通过Debug类提供的方法在后台输出调试信息。该办法会直接在VS2015输出窗口以及Unity的控制台(Console)中
㈤ Unity中timeline出现脚本错误怎么解决
【浏览器】—【工具】—【Internet选项】—【高级】—取消【禁止脚本调试】对勾—取消【显示每个脚本错误的通知】对勾—取消【显示有好HTTP错误信息】对勾—【确定】—关闭【浏览器】重新打开。
无边界片段是包含在TimeLine编辑窗口中记录的基本关键动画的片段。无边界片段没有固定大小,无法放置、修剪或拆分。无边界片段的时间段涵盖整个动画轨道。在创建无边界片段之前,必须为要设置动画的游戏对象添加一个空的动画轨道。在创建无限剪辑之前,必须为要设置动画的游戏对象添加一个空的动画轨道。点击轨道列表中空白动画轨道的录制按钮,激活录制模式。录制按钮可用于绑定到简单游戏对象(例如立方体,球体和灯光)的动画轨道上。对于绑定到人形游戏对象(humanoid)的动画轨道,禁用了录制按钮。
㈥ 如何调试unity中的lua脚本
luaIde 是基于vscode开发的一款用于lua语言开发者使用的插件
目标:致力于做最好的跨平台lua开发工具
更新:luaide 个人开发者开发持续更新 (更新频率为一周一更)
是否开源:开源
平台支持:win,mac
代码调试:理论上只要支持 luasocket 就能调试 如果你的游戏引擎或 lua框架需要调试 请联系我
㈦ 如何使用MonoDevelop调试Unity3D脚本
断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器。而用Visual Studio是不行的。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过没试过。
好了,简单的说说做法吧:
首先肯定是先要把脚本编辑器指定为MonoDevelop了。
这两种法子连接Unity,我建议还是使用第二种附加进程的方式吧。毕竟你不可能每次调试都要关掉一次Unity然后再从MonoDevelop打开一次Unity。所以,编写脚本的时候,把连接Detach掉,等需要调试的时候,再把进程Attach上去,进行调试就行了
如果你还有什么不懂的,可以网络搜下:编程回忆录,他们现在正在录制这方面的教程,都是零基础开始,由浅入深。
㈧ unity3d android怎么调试
目前貌似不支持断点调试,但可以通过日志打印(logcat)来跟踪。
在Android SDK中有个adb工具,使用此工具来跟踪运行的android应用:
adb logcat
启动logcat,并将设备上运行的Android应用的运行时信息全部打印出来。
adb logcat -s Unity
如果只想打印Unity的输出信息,使用此命令。
adb logcat -d > logcat.txt
将打印信息输出为文件。
当然,更直接的做法是在应用中集成自己的调试信息窗口,将如下代码关联到一个gameobject:
using UnityEngine;
using System.Collections;</p><p>public class GuiTextDebug : MonoBehaviour
{
private float windowPosition = -440.0f;
private int positionCheck = 2;
private static string windowText = "";
private Vector2 scrollViewVector = Vector2.zero;
private GUIStyle debugBoxStyle;
private float leftSide = 0.0f;
private float debugWidth = 420.0f;
public bool debugIsOn = false;
public static void debug(string newString)
{
windowText = newString + " " + windowText;
UnityEngine.Debug.Log(newString);
}
void Start()
{
debugBoxStyle = new GUIStyle();
debugBoxStyle.alignment = TextAnchor.UpperLeft;
leftSide = 120;
}
void OnGUI()
{
if (debugIsOn)
{
GUI.depth = 0;
GUI.BeginGroup(new Rect(windowPosition, 40.0f, leftSide, 200.0f));
scrollViewVector = GUI.BeginScrollView(new Rect (0, 0.0f, debugWidth, 200.0f),
scrollViewVector,
new Rect (0.0f, 0.0f, 400.0f, 2000.0f));
GUI.Box(new Rect(0, 0.0f, debugWidth - 20.0f, 2000.0f), windowText, debugBoxStyle);
GUI.EndScrollView();
GUI.EndGroup ();
if (GUI.Button(new Rect(leftSide, 0.0f,75.0f,40.0f), "调试"))
{
if (positionCheck == 1)
{
windowPosition = -440.0f;
positionCheck = 2;
}
else
{
windowPosition = leftSide;
positionCheck = 1;
}
}
if (GUI.Button(new Rect(leftSide + 80f,0.0f,75.0f,40.0f),"清除"))
{
windowText = "";
}
}
}
}
㈨ 用vs2012写Unity3D脚本,怎么实现调试拜托各位大神
去找一个UnityVS的插件,可以使用VS2012进行调试 查看更多答案>>
㈩ 如何单步调试Unity中的Lua脚本
下载SimpleFramework最新版,有人说老版本不能调试,没测试,不知道为啥,用最新版吧。
解压到系统上,比如:c:/SimpleFramework/
安装luastudio,这没啥好说的,一路next,直到安装完成结束。
用unity打开SimpleFramework目录如下:
2
记得检查Scenes里面,打开login场景,否则没有入口,起不来。
最小化unity,打开luastudio界面,如下:
3
在“解决方案”根菜单上单击右键,新建项目,建在c:/ SimpleFramework/assets/lua/目录下,
4
然后左边树状菜单如下所示:
5
接下来,添加lua文件进来,在项目上右键“添加现有文件”,而不是拖.
6
打开后,双击文件名,比如我这里game.lua文件。打开其内容,并且在自己需要下断点的地方,右键下断点。界面如下:
7
然后,开始附加进程,“调试”->“附加到进程”菜单项,打开对话框:
8
选择Unity.exe进程,并且摁下“附加”按钮。等luastudio初始化,一般会提示符号没找到,
9
无所谓,我们继续调试,这时,开始打开Unity界面,摁下启动按钮。就可以停在断点处,如图所示:
10
F10:单步调试,Shift + F5停止调试。其他的就不废话了。