Ajuda com script para enviar valores a uma list<> e depois seta-los de uma vez
Página 1 de 1
Ajuda com script para enviar valores a uma list<> e depois seta-los de uma vez
estou fazendo um slime, porem ele utiliza varios Script de bola(ball) da propia unity, porem so devera ter 1 ball user control que controlara todos os scripts ball
porem o slime sera instanciado, e o script ball user control nao estara no slime, ou seja nao e possivel setar manualmente,somente atravez de script
script do ball user contro (somente haverá 1)
agora o script que manda o script (ball) que esta precisando nas primeiras linhas do scritp a cima
Erros que dao
o script (ball) não foi mexido esta como veio no standard assets
esta dando uns erros quando eu criei o list<Ball> para setar todos de uma vez, existe um jeito de eu criar varios script ballusercontrol e colocar em cada um que leva um script ball,porem eu nao quero deste jeito
qualquer ajuda e bem vinda :D
porem o slime sera instanciado, e o script ball user control nao estara no slime, ou seja nao e possivel setar manualmente,somente atravez de script
script do ball user contro (somente haverá 1)
- Código:
using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
using UnityEngine.Networking;
using Boo.Lang;
namespace UnityStandardAssets.Vehicles.Ball
{
public class BallUserControl : MonoBehaviour
{
public List<Ball> ball; //criei uma list pois havera varios(tipo 80) desses scripts
private Vector3 move;
// the world-relative desired move direction, calculated from the camForward and user input.
private Transform cam; // A reference to the main camera in the scenes transform
private Vector3 camForward; // The current forward direction of the camera
private bool jump; // whether the jump button is currently pressed
private void Awake()
{
// Set up the reference.
// ball = GetComponent<Ball>();
// get the transform of the main camera
if (Camera.main != null)
{
cam = Camera.main.transform;
}
else
{
Debug.LogWarning(
"Warning: no main camera found. Ball needs a Camera tagged \"MainCamera\", for camera-relative controls.");
// we use world-relative controls in this case, which may not be what the user wants, but hey, we warned them!
}
}
private void Update()
{
// Get the axis and jump input.
float h = CrossPlatformInputManager.GetAxis("Horizontal");
float v = CrossPlatformInputManager.GetAxis("Vertical");
jump = CrossPlatformInputManager.GetButton("Jump");
// calculate move direction
if (cam != null)
{
// calculate camera relative direction to move:
camForward = Vector3.Scale(cam.forward, new Vector3(1, 0, 1)).normalized;
move = (v * camForward + h * cam.right).normalized;
}
else
{
// we use world-relative directions in the case of no main camera
move = (v * Vector3.forward + h * Vector3.right).normalized;
}
}
private void FixedUpdate()
{
for (int i = 0; i < ball.Count; i++) //acho que esta for esta errada,porem eu nao saberia no o que
{
ball[i].Move(move, jump); // isto faz com que a bola va para frente
}
jump = false;
}
}
}
agora o script que manda o script (ball) que esta precisando nas primeiras linhas do scritp a cima
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Vehicles.Ball;
public class BolaSync : MonoBehaviour {
public BallUserControl blinha; //este e o script a cima
void Start () {
blinha = GameObject.FindGameObjectWithTag("GameController").GetComponent<BallUserControl>(); // este script esta em..
//..um gameobject com a tag descrita
blinha.ball.Add(GetComponent<Ball>()); //aqui esta com algo errado porem nao sei o que
}
}
Erros que dao
- Código:
NullReferenceException: Object reference not set to an instance of an object
UnityStandardAssets.Vehicles.Ball.BallUserControl.FixedUpdate ()
(at Assets/Standard Assets/Characters/RollerBall/Scripts/BallUserControl.cs:74)
//=====================================================================================]
NullReferenceException: Object reference not set to an instance of an object
BolaSync.Start () (at Assets/BolaSync.cs:10)
//=====================================================================================]
o script (ball) não foi mexido esta como veio no standard assets
esta dando uns erros quando eu criei o list<Ball> para setar todos de uma vez, existe um jeito de eu criar varios script ballusercontrol e colocar em cada um que leva um script ball,porem eu nao quero deste jeito
qualquer ajuda e bem vinda :D
Tópicos semelhantes
» Enviar valor de variável para outro script ao apertar um botão.
» ajuda para adaptação em um script.
» Salvar Valores de uma List
» Ajuda com Script para IA
» Ajuda para corrigir bug no script
» ajuda para adaptação em um script.
» Salvar Valores de uma List
» Ajuda com Script para IA
» Ajuda para corrigir bug no script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos