您当前的位置:首页 > 精选问答

unity3d用js好还是c#好?

时间:2024-11-07 12:30:45

一、unity3d用js好还是c#好?

C#特点是严谨、安全、容易调试、容易读、原生面向对象也很强大,而且非常容易学。要写的代码越多,C#的优势就越明显,调试不累、维护不累、更新不累。问题是,互联网支持的是js,不支持c#。而桌面端的大型游戏引擎,竞争激烈,极度追求性能,所以基本只支持C++,也不支持C#。也就是说,除了unity3d,C#在游戏界根本吃不开。所以,虽然C#语言本身很优秀,但还不如学JS,起码在网页游戏引擎和ios游戏引擎上通用。但其实用C#做世界一流的游戏完全没有任何问题,著名的游戏magicka(魔法对抗/魔能)就是C#写的。可惜几个很牛的游戏引擎绝对不可能去支持C#,导致C#的地位永远都会很尴尬。不过本人经历过类似js这些语言在调试、找bug和维护时的巨大痛苦,整个过程纯属浪费生命,因此对不严谨的脚本语言恨之入骨,所以还是选择C#

二、unity怎么实现第三人称摄像机碰着墙壁后拉近镜头

假要摄像机跟随第三称想写代码摄像机拖给第三称作摄像机物体物体跟随父物体种摄像机更随功能少简陋写代码控制

三、unity3d 如何写 控制摄影机动画的播放与暂停的按钮功能。

using UnityEngine;

using System.Collections;

public class PlayOrPause : MonoBehaviour

{

private string AcName = Camera;

void Start()

{

animation.enabled = false;

}

void OnGUI()

{

if (!animation.enabled)

{

if (GUI.Button(new Rect(0, 0, 100, 40), 播放/继续))

{

animation.enabled = true;

if (!animation.isPlaying)

{

animation.Play(AcName);

}

}

}else if (GUI.Button(new Rect(0, 0, 40, 40), 暂停))

{

animation.enabled = false;

}

}

}

赋给Camera,AcName换成动画的名称

四、unity 怎样用C#代码隐藏摄像机

publicCameramycam=null;

...

mycam.enabled = false;

或者mycam.gameObject.SetActive (false);

如果是主相机,可以不定义变量,直接Camera.main.enabled = false;

五、unity怎么将代码拖拽给摄像机使用。。。

代码有细节错误,调整如下:

#pragma strict

private var defaultFog = RenderSettings.fog;

private var defaultFogColor = RenderSettings.fogColor;

private var defaultFogDensity = RenderSettings.fogDensity;

private var defaultSkybox = RenderSettings.skybox;

var noSkybox : Material;

function OnTriggerStay (hit : Collider) {

if (hit.gameObject.tag==WaterColler)

{

RenderSettings.fog = true;

RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);

RenderSettings.fogDensity = 0.04;

RenderSettings.skybox = noSkybox;

}

}

function OnTriggerExit (hit : Collider) {

if (hit.gameObject.tag==WaterColler)

{

RenderSettings.fog = defaultFog;

RenderSettings.fogColor = defaultFogColor;

RenderSettings.fogDensity = defaultFogDensity;

RenderSettings.skybox = defaultSkybox;

}

}

摄像机

最新文章