Je me lance dans un petit projet personnel , mon premier petit jeux, qui est un grand défit pour mes compétences actuel sous unity. J'ai volontairement placé la barre assez haute pour un débutant en programmation (que je suis^^).
On pourrai penser que c'est le piège habituel, pas assez de connaissance et finira par abandonner
Peut être bien (même si je sais être très obstiner lol) mais cela n'a guère d'importance. Je compte pas détrôner EA, mon projet n'es pas dans un but lucratif mais uniquement dans le but d'acquérir de nouvelle connaissance et de m'améliorer en programmation sous unity.
C'est là que vous intervenez
Je veux pas avoir des scripts tout fait, je veux comprendre et pouvoir refaire sous d'autre projet sans venir systématiquement vous embêtez
Avant de parler du petit projet, de où j'en suis et de vous demandez un peu de votre temps (oui je post pas juste pour vous dire ce que je fais, j'ai actuellement besoin de vos lumières^^) je vais vous dire où j'en suis dans mes connaissances :
programmation sous java Script (considérer moi comme un débutant)
je suis une formation a distance d’analyste informatique (qui j'espère vas booster mes connaissances en programmation)
quelque base solide en 3d (cinema 4d, zbrush)
Voila, il es temps de parler du projet et d'en venir au fait. Désolé si je traîne un peu, j'adore le suspens lol
il s'agit d'un jeu d'aventure/stratégie vu à la 3eme personne. Le héro devra détruire des villages ennemis (une dizaine pour finir le jeu) mais devra également créer son propre village subissant des assauts sur ce dernier. Entre chaque village le joueur devra traversé un chemin infesté d'ennemi. (Inspirer d'un jeu très connu mais revue a ma façon ^^) Voila l'idée principal, comme je vous disais j'ai placé la barre haute pour une première tentative
J'en viens donc au moment où je vous embêtes
Je suis entrain de scripter l’évolution des bâtiments du village. J'ai créer une variable tableau dans laquelle j'ai placé les gameObjects des différents level. Par contre je n'arrive pas utiliser "intelligemment" ce tableau. Pour mes test je n'ai que 3 level mais imaginons que je procède un nombre impressionnant... Je pensais pouvoir identifier avec le raycast à quel index je suis et pouvoir passer à l'index suivant mais j'ai lamentablement échoué
Mon script fonctionne tel quel mais j'aurai voulu savoir s'il y avait la possibilité de passer par les index ou d''optimiser le script. Voila le script :
Code : Tout sélectionner
var batimentDef : GameObject[];
var hit : RaycastHit;
var ray : Ray;
var target : Transform;
var argent : int = 2000;
function Start () {
Instantiate(batimentDef[0], target.position, target.rotation);
}
function Update () {
if(Input.GetMouseButtonDown(0)){
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, hit)){
if(hit.transform.tag == "Batiment"){
BatimentUP();
}
}
}
}
function BatimentUP(){
//var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, hit)){
if(hit.transform.name == "bat lvl1(Clone)" && argent >= 150){
Instantiate(batimentDef[1] , target.position, target.rotation);
argent -= 150;
Destroy(hit.transform.gameObject);
}
if( hit.transform.name =="bat lvl2(Clone)" && argent >= 300){
Instantiate(batimentDef[2] , target.position, target.rotation);
argent -= 300;
Destroy(hit.transform.gameObject);
}
if(hit.transform.name == "bat lvl3(Clone)" && argent >= 600){
Instantiate(batimentDef[3] , target.position, target.rotation);
argent -= 600;
Destroy(hit.transform.gameObject);
}
}
}