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'
你好,我是一名Java程序员,我想学习Java3D,但是Unity3D看起来比Java3D更高级,比如Unity3D比Java3D更生动,更活跃.我想问一下Java3D是否能像Unity3D一样完成,甚至更多.
我想实现Unity具有的功能:http : //docs.unity3d.com/Manual/SpriteEditor.html
“将切片类型设置为自动,编辑器将尝试通过透明度来猜测精灵元素的边界”,什么是实现这一点的最简单方法吗?
我正在制作一个统一游戏,其中两个物体都有碰撞器,我选择了它是Triri并且没有刚体,如果我把刚体那么它们是运动物体,那么重力对那个物体没有影响,甚至我也是不希望对此对象进行任何物理操作.但我想检测这两个物体是否相互碰撞.
我怎样才能做到这一点 ?
我在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)
我想知道是否有人可以帮助我,提前谢谢!
我一直关注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) 我有一个方法:
IEnumerator ABC()
{
//some code
}
Run Code Online (Sandbox Code Playgroud)
我从Start()调用此方法,如下所示:
void Start()
{
ABC();
}
Run Code Online (Sandbox Code Playgroud)
但它不以任何方式运行.这有什么问题?(如果版本很重要,请使用Unity5.3)
所以我的代码似乎工作正常.除了跳跃之外,从动画到重力到移动的所有东西都是有效的.我无法看到我的代码中出现的错误,它不允许跳转工作,这里是代码:
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) 我有一个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"
希望你一切都好。我试图做到这一点,当一个浮点数从十倒计时(倒计时发生在另一个脚本中)后达到零时,另一个浮点数(来自另一个脚本)添加了十个。这是我写的代码:
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# ×7
2d ×1
gameobject ×1
graphics ×1
java ×1
json ×1
monodevelop ×1
sprite ×1
triggers ×1
unityscript ×1