标签: unity-game-engine

为什么我的变量无法访问?

using UnityEngine;
using System.Collections;

public class objectControl : MonoBehaviour {

    public char slected_item = 'F';
    public int selected_model = 0;
    public GameObject f,o,d;

    // Use this for initialization
    void Start () {
        f = GameObject.Find("f");
        o = GameObject.Find("o");
        d = GameObject.Find("d");
        selected_item = 'F';
    }

    // Update is called once per frame
    void Update () {
        selected_item = 'F';
        if (Input.GetKey(KeyCode.F)){
            selected_item = 'F';
            doSelectedAnimation();
        }
    }

    void doSelectedAnimation(){
        iTween.MoveTo(f,iTween.Hash("y",-3,"time",4));
    }

}
Run Code Online (Sandbox Code Playgroud)

在我尝试从3个不同的地方访问"selected_model"的代码中.但不是它们有效.调试器给出以下错误.

Assets/Scripts/objectControl.cs(15,17):错误CS0103:当前上下文中不存在名称`selected_item'

c# unity-game-engine gameobject

-3
推荐指数
1
解决办法
1569
查看次数

Unity3D与Java3D

你好,我是一名Java程序员,我想学习Java3D,但是Unity3D看起来比Java3D更高级,比如Unity3D比Java3D更生动,更活跃.我想问一下Java3D是否能像Unity3D一样完成,甚至更多.

java unity-game-engine

-3
推荐指数
1
解决办法
831
查看次数

如何实现一种可以通过透明度将纹理切片为多个精灵的算法?

我想实现Unity具有的功能:http : //docs.unity3d.com/Manual/SpriteEditor.html
“将切片类型设置为自动,编辑器将尝试通过透明度来猜测精灵元素的边界”,什么是实现这一点的最简单方法吗?

graphics 2d sprite unity-game-engine

-3
推荐指数
1
解决办法
1131
查看次数

如何检测两个物体是否发生碰撞?

我正在制作一个统一游戏,其中两个物体都有碰撞器,我选择了它是Triri并且没有刚体,如果我把刚体那么它们是运动物体,那么重力对那个物体没有影响,甚至我也是不希望对此对象进行任何物理操作.但我想检测这两个物体是否相互碰撞.

我怎样才能做到这一点 ?

triggers collision-detection unity-game-engine unityscript

-3
推荐指数
1
解决办法
915
查看次数

C#错误:新类型表达式需要()或[]

我在Unity3D引擎中创建一个游戏,我只是编写一些简单的跳跃代码,我遇到了这个问题:

Assets/jumpControll.cs(17,107):错误CS1526:新类型表达式需要()或[].

我不确定如何修复它,因为我确定我说的是跳高是一个浮点数,错误在这一行;

 transform.position = new Vector3(transform.position.x, transform.position.y(jumpHeight 3.0f), transform.position.z); 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

using UnityEngine;
using System.Collections;

public class jumpControll : MonoBehaviour {

    public bool jump;
    public float jumpHeight;




    // Use this for initialization

    public void SetTransformX (float jumpHeight) {

        jumpHeight = 3.0f;
        transform.position = new Vector3(transform.position.x, transform.position.y(jumpHeight 3.0f), transform.position.z);
    }

    // Update is called once per frame
    void Update () {
        jump = !Input.GetKey(KeyCode.LeftShift);
        if (jump == true)
            SetTransformX(jumpHeight);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以帮助我,提前谢谢!

c# unity-game-engine

-3
推荐指数
1
解决办法
457
查看次数

Unity:第5行错误CS1041:预期标识符:'public'是关键字?

我一直关注Unity3D 程序洞穴生成,但我在MapGeneration.cs中很早就发现了一个错误.Unity说第1行第1行有一个错误:标识符预期:'public'是一个关键字.我看不出我的代码和教程代码有什么不同.这是教程视频的链接:[ \ Tutorial video 1],这是我的代码:

using UnityEngine;
using System.Collections;
using System

public class MapGeneration : MonoBehaviour {

    public int width;
    public int height;

    public string seed;
    public bool useRandomSeed;

    [Range(0,100)]
    public int randomFillPercent;

    int[,] map;

    void Start() {
        GenerateMap();
    }

    void GenerateMap() {
        map = new int[width,height];
    }

    void RandomFillMap() {
        if (useRandomSeed) {
            seed = Time.time.ToString();
        }

        System.Random psuedoRandom = new System.Random(seed.GetHashCode());

        for (int x = 0; x < width; x++) { …
Run Code Online (Sandbox Code Playgroud)

c# monodevelop unity-game-engine

-3
推荐指数
1
解决办法
1404
查看次数

无法调用返回类型为"IEnumerator"的方法

我有一个方法:

IEnumerator ABC()
{
//some code
}
Run Code Online (Sandbox Code Playgroud)

我从Start()调用此方法,如下所示:

void Start()
{
ABC();
}
Run Code Online (Sandbox Code Playgroud)

但它不以任何方式运行.这有什么问题?(如果版本很重要,请使用Unity5.3)

c# unity-game-engine

-3
推荐指数
1
解决办法
462
查看次数

我的角色不会跳.(Unity2D C#)

所以我的代码似乎工作正常.除了跳跃之外,从动画到重力到移动的所有东西都是有效的.我无法看到我的代码中出现的错误,它不允许跳转工作,这里是代码:

using UnityEngine;
using System.Collections;
using System;

public class CharacterRun : MonoBehaviour
{

   public float MaxSpeed = 10;
   bool FacingRight = true;
   Animator anim;
   bool grounded = false;
   public Transform groundCheck;
   float groundRadius = 0.2f;
   public LayerMask whatIsGround;
   public float jumpForce = 700f;

   // Use this for initialization
   void Start()
   {
      anim = GetComponent<Animator>();
   }

   // Update is called once per frame
   void FixedUpdate()
   {
       grounded = Physics2D.OverlapCircle(groundCheck.position, groundRadius, whatIsGround);
       anim.SetBool("Ground", grounded);
       anim.SetFloat("vSpeed", GetComponent<Rigidbody2D>().velocity.y);

       float move = Input.GetAxis("Horizontal");

       anim.SetFloat("hSpeed", Mathf.Abs(move)); …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

-3
推荐指数
1
解决办法
318
查看次数

将字符串转换为JSON对象

我有一个JsonString:

"baseAbilities":"[{"baseId":1,"name":"Focused Elemental Strike"}]"
Run Code Online (Sandbox Code Playgroud)

我想做到:

"baseAbilities":[{"baseId":1,"name":"Focused Elemental Strike"}]
Run Code Online (Sandbox Code Playgroud)

因此,JSON实用程序很容易对其进行反序列化.有什么建议

编辑:

这基本上是以下Json字符串中的json对象:

{"data":[{"id":9,"name":"Sam5","baseAbilities":"[{\"baseId \":1,\"name \":\"Focused Elemental Strike \"} {\ "了baseid \":9,\ "名称\":\ "清洗\"}]"]}

后端开发人员将JSON作为字符串保存在列baseAbilities中.现在我无法访问后端API.所以我需要将此字符串baseAbilities转换为JSON,以便我可以访问其中的对象.

现在我使用这些类来解码JSON:

[System.Serializable]
    class GetBAResult
    {
        public List<bounceAbilityData> data;
    }

    [System.Serializable]
    class bounceAbilityData
    {
        public int id;
        public string name;
        public string baseAbilities;
    }
Run Code Online (Sandbox Code Playgroud)

这就是我解码JSON的方式:

GetBAResult P = JsonUtility.FromJson<GetBAResult>(w.text);
        for (int i = 0; i < P.data.Count; i++)
        {
            Debug.Log(P.data[i].name);
            GameObject layoutGroupNameButton = (GameObject)Instantiate(prefabBAButton);
            layoutGroupNameButton.transform.SetParent(ParentPanel, false);
            layoutGroupNameButton.GetComponentInChildren<Text>().text = P.data[i].name;
            layoutGroupNameButton.GetComponent<BounceAbilityButton>().id = P.data[i].id;
            layoutGroupNameButton.GetComponent<BounceAbilityButton>().name = P.data[i].name;
            Debug.Log(P.data[i].baseAbilities);
        }
Run Code Online (Sandbox Code Playgroud)

我需要在baseAbilities中获取内容,例如"baseID"和"name"

c# json unity-game-engine

-3
推荐指数
1
解决办法
1万
查看次数

在 Unity C# 中,只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句

希望你一切都好。我试图做到这一点,当一个浮点数从十倒计时(倒计时发生在另一个脚本中)后达到零时,另一个浮点数(来自另一个脚本)添加了十个。这是我写的代码:

public float timeLeft = 10f;    
public SeedNeed seedNeed;

public void Update()
{
    timeLeft -= Time.deltaTime;

    if (timeLeft <= 0)
    {
        Debug.Log("IM READY TO HARVEST");
        Destroy(gameObject);
        seedNeed.currentNeed + 10;
                  
    }     
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我得到的错误是:错误 CS0201:只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句。任何帮助,将不胜感激。

c# unity-game-engine

-3
推荐指数
1
解决办法
116
查看次数