Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - sirkain

#1
Gente, buenas noches, soy Pablo, estoy dando vueltas y necesitaría una mano de como resolver algo que parece simple pero no me resulta tanto

el concepto base seria (para mi juego de estrategia) 

*armas o construcciones que gastan energía 
*generadores que suministran energía 
por cuestiones puramente estratégicas, necesito poder construir varios generadores 
y "juntar" todo lo generado. 

peeero he aquí el problema, lógicamente nosé ni cuantas armas ni cuantos generadores se van a construir! 

el concepto base seria 
consumo_total = arma1 + arma2 + arma3 ...etc 
generacion_total = generador1 + generador2 + generador3 ...etc 

pensé entonces colocar en un gameobject persistente el script de calculos 
y en cada arma o generador a instanciar coloco el script donde esta seteado el Consumo o Generación electrica
el problema es que si hay UN solo objeto instanciado o puesto a mano para pruebas, los calculos dan bien. 
si pongo 2, 3, 10, etc, solo se contabilizan los datos del 1er objeto colocado! 
(recuerden que no sé puede saber nunca cuantos objetos se van a colocar durante el juego) 

dejo un resumen de los 2 scripts para no agotar con codigos ajenos al tema 
/////////////////////////////////////////////////////////////////////////////////////////////// 
SCRIPT QUE VA DENTRO DE LOS GameObject ARMAS o GENERADORES 
//------------------------------------------------------- 
#pragma strict 

public var_Energ_Generada: int; //desde el inspector voy cambiando los valores para ver como reaciona el script calculador 
public var_Energ_Consumida : int; //desde el inspector voy cambiando los valores para ver como reaciona el script calculador 
var var_Diferencia_Cosumos: int; 

var ObjetoconScript : GameObject; 

private var scp_calculos: scp_ENERG_CALCULADOR; //aca arrastro el script calculador 

//------------------------------------------------------- 
function Start(){ 
scp_calculos = ObjetoconScript.GetComponent(scp_ENERG_CALCULADOR); //armo el sanwitch... 
} 
//------------------------------------------------------- 
function Update () { 
//envio datos al script encargado de calcularlos 

//creo que aca es donde algo estoy haciendo mal. 
//yo pense que en cada ciclo el programa leeria, el script del arma y lo agregadira a la variable, 
//luego leeira el del generador y lo agregaria a la variable, y al repetir los ciclos se agregarian 
//alternadamente los datos de cada script, pero solo se suman los del primer script  

scp_calculos.var_Energia_Total_Generada = Energ_Generada; //le paso lo que genera ESTE objeto 
scp_calculos.var_Energia_Total_Consumida = Energ_Consumida; //le paso lo que consume ESTE objeto 
} 

/////////////////////////////////////////////////////////////////////////////////////////////// 

/////////////////////////////////////////////////////////////////////////////////////////////// 

/////////////////////////////////////////////////////////////////////////////////////////////// 
SCRIPT ENCARGADO DE LOS CALCULOS (va en el GameObject persistente) 
//------------------------------------------------------- 
#pragma strict 

var var_Energia_Total_Generada: int; 
var var_Energia_Total_Consumida: int; 

function Update () { 
var_Diferencia_Consumos = var_Diferencia_Consumos + (var_Energia_Total_Generada - var_Energia_Total_Consumida); 
} 



//-------------muestra los textos en pantalla para tener una idea de que pasa------------ 
function OnGUI(){ 
GUI.BeginGroup (new Rect (100,0,6000,300));
GUI.Label(Rect(10,20,400,40), "DATOS RECIBIDOS:") ; 
GUI.Label(Rect(10,40,400,60), "GENERADOR: " + var_Energia_Total_Generada); 
GUI.Label(Rect(10,60,400,80), "MOTOR: " + var_Energia_Total_Consumida); 
GUI.Label(Rect(10,80,400,100), "Diferencia de consumos: " + var_Diferencia_Consumos); 
GUI.EndGroup (); 
} 
/////////////////////////////////////////////////////////////////////////////////////////////// 


Muchas veces he leido en el foro que cuando se agradece por adelantado muchos se quejan, pero que VOS pierdas TU tiempo en leer esto, ya es digno de agradecer! 
asi que MUCHAS GRACIAS POR TU TIEMPO, y si me das una mano espero algún día poder retribuir (NO sexualmente!!!! tampoco la pavada)
#2
General (Antiguo) / QUE GRAN FORO! QUE BUENA GENTE!
Agosto 26, 2015, 05:27:23 AM
 Hola a todos, soy Pablo, se programar, pero Unity es el 1er lenguaje en el que el código esta compuesto de cientos pequeños códigos u scripts... hasta unity la programación lineal en un único código gigantesco es lo único que conocía, y cada vez que intente acercarme a este sistema, literalmente me perdía. Osea, si bien entendía el concepto básico, se me escapaba Quien, Donde, Porque y Como se unirían los scripts sueltos y en que orden y como se relacionarían.... un caos para mi mente acostumbrada a una programación taaaan estructurada! Visual Basic se parecería en concepto, ya que dibujo un botón, lo toco y lo programo (casi como meterle un script a un GameObjet) pero al fin y al cabo esa porción de código de botón estaría dentro de un código larguísimo donde de pasada podía leer todo lo demás programado, en cambio aquí solo.... en fin.
Llevo un tiempo luchando y lentamente le voy agarrando la mano, aunque a veces extraño la sencillez del TurboPascal jajajaja, mas no así sus gráficos! aunque bueno, hasta la versión 4.6 de unity su sistema de GUi no era mejor que la del viejo Pascal! SI bien todavía tengo bastantes dudas de como usar la programación en unity a fuerza de cientos de horas de lectura he logrado todo lo que me propuse sin molestar a nadie.
Cosa que no va a durar mucho porque tengo planeado hacer alguna pregunta por ahí, solo ahora lo voy a empezar a hacer porque aunque sea a los principiantes ya me encuentro en posición de ayudar y no solo de pedir ayuda. Dar para recibir dicen, no? y que mejor ejemplo que este Magnifico foro.Con eso me despido. Hola y Gracias por Todo!!!!