Trajet ITWEEN changé en trajet DOTWEEN
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Re: Trajet ITWEEN changé en trajet DOTWEEN
faut pas s’étonner si les perfs ne sont pas terrible si tu instancie des tween sur chaque frame! ça ,parait logique
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: Trajet ITWEEN changé en trajet DOTWEEN
oui, parfaitement, mais comment modifier le script pour ne pas le faire ?
Re: Trajet ITWEEN changé en trajet DOTWEEN
Non mais c'est ta logique qu'il faut revoir. En général tu as un événement qui déclenche le Tween, comme par exemple un trigger, un délai, etc etc...Ou bien même au lancement du jeu.
Lorsque cet événement se produit tu lances tes tweens, une seule fois.
Lorsque cet événement se produit tu lances tes tweens, une seule fois.
Re: Trajet ITWEEN changé en trajet DOTWEEN
J'ai 2 utilisations.
1 Dès le départ, instanciation de voitures sur 8 trajectoires par création aléatoire de voitures par ce script
2 Par un clic sur un guibutton,( maintenant en v 4.6 , donc avec un canevas) , je lance une camera qui suit une trajectoire au dessus de ma route ( type caméra d'avion).
1 Dès le départ, instanciation de voitures sur 8 trajectoires par création aléatoire de voitures par ce script
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
using System;
[Serializable]
public struct Trajets {
public GameObject trajet;
public float vitesse;
}
public class DebutRoute : MonoBehaviour {
// script qui detruit le vl à la fin du parcours et l'instancie au départ
// si true coché = début si false non coché = à fin
/*Donc tu choisie dans l'inspector le nombre de vl que tu veux au lancement de ta maquette pour chaque trajet et le programme vas te les instancié automatiquement par rapport à la fraction et au trajet.
example :
ligne Vl depart 4 , car j'ai 4 voies
element 0 : 4 si je veux 4 vl affichés dès le lancement de la maquette sur cette voie
element 1 : 1 si je veux 1 vl affichés dès le lancement de la maquette sur cette voie
element 2 : 3 si je veux 3 vl affichés dès le lancement de la maquette sur cette voie
element 3 : 10 si je veux 10 vl affichés dès le lancement de la maquette sur cette voie
Pour element0 , on a mis 0. Il y aura 0 véhicuke sur le trajet à 0.0, 0.25, 0.5 et 0.75
Pour element3 , on a mis 10. Il y aura 10 véhicuke sur le trajet à 0,0. 0.1, 0.2, 0.3, ....., 0.9
Il n'y a acucun vl à 1 car il serait à la fin du trajet et donc invisible !
*/
public Trajets[] trajets;
public int choixTrajet;
// temps apparition entre chaque voiture choisi au hasard
public float[] tempsApparition = new float[0]; // dans inspector donner le nombre de temsp puis les renseigner
//choisis un temps aléatoire
public int choixTemps;
public float temps;
public float pCar;
public float pUtilitaire;
public float pSemi;
public float pMoto;
public int choixPourcentage;
//nombre de vl désiré au départ
public int[] nbVlDepart;
private bool finStart;
void Start () {
choixTemps = UnityEngine.Random.Range(0,tempsApparition.Length);
choixTrajet = UnityEngine.Random.Range(0,trajets.Length);
choixPourcentage = UnityEngine.Random.Range(1,101);
if (pCar + pUtilitaire + pSemi + pMoto > 100)
Debug.LogError("il y a plus de 100%");
if (pCar + pUtilitaire + pSemi + pMoto < 100)
Debug.LogError("il y a moin de 100%");
if (nbVlDepart.Length != 0) {
for (int i = 0; i < nbVlDepart.Length; i++) {
CreationVlDepart (i);
}
}
finStart = true;
}
// Update is called once per frame
void Update () {
if (finStart) {
temps += Time.fixedDeltaTime;
//automatiquement
if (temps >= tempsApparition[choixTemps]) {
CreationVl(trajets[choixTrajet].trajet, trajets[choixTrajet].vitesse, 0.0f);
choixTemps = UnityEngine.Random.Range(0,tempsApparition.Length);
choixTrajet = UnityEngine.Random.Range(0,trajets.Length);
choixPourcentage = UnityEngine.Random.Range(0,101);
temps = 0;
}
}
}
void CreationVlDepart (int countTrajet) {
float valeurFraction = 1.0f / nbVlDepart[countTrajet];
print (countTrajet + "--" + nbVlDepart[countTrajet] + "--" + valeurFraction);
float count = 0.0f;
for (int i = 0; i < nbVlDepart[countTrajet]; i++) {
CreationVl(trajets[countTrajet].trajet, trajets[countTrajet].vitesse, count);
choixPourcentage = UnityEngine.Random.Range(0,101);
count += valeurFraction;
}
}
public void CreationVl (GameObject trajet, float vitesseFraction, float fraction) {
string nom = "";
int choixVl = 0;
//voitures
if (choixPourcentage < pCar) {
choixVl = UnityEngine.Random.Range(1,17);
nom = "Voitures/Car_";
//utilitaires
} else if (choixPourcentage < pCar + pUtilitaire) {
choixVl = UnityEngine.Random.Range(1,14);
nom = "Utilitaires/utilitaire_";
//semi
} else if (choixPourcentage < pCar + pUtilitaire + pSemi) {
choixVl = UnityEngine.Random.Range(1,13);
nom = "Poids_Lourds/semi_";
//moto
} else if (choixPourcentage <= pCar + pUtilitaire + pSemi + pMoto) {
choixVl = UnityEngine.Random.Range(1,9);
nom = "Motos/moto_";
}
GameObject instance = Instantiate(Resources.Load(""+nom+choixVl,typeof(GameObject))) as GameObject;
//modif du non
instance.name += trajet.name;
//change la postion de l'object dans le scéne
//donc transform = à l'obejct qui contient le script DebutRoute
instance.transform.SetParent(transform);
//set le parcour sur l'object
instance.GetComponent<TrajetVl>().target_Path = trajet;
//modif la vitesse de l'object
instance.GetComponent<TrajetVl>().kmh = vitesseFraction;
//change la fraction parcour du vl
instance.GetComponent<TrajetVl>().fraction = fraction;
}
}
2 Par un clic sur un guibutton,( maintenant en v 4.6 , donc avec un canevas) , je lance une camera qui suit une trajectoire au dessus de ma route ( type caméra d'avion).
Re: Trajet ITWEEN changé en trajet DOTWEEN
Bah parfait tu as tes event, plus besoin de faire ça dans l'Update.
Re: Trajet ITWEEN changé en trajet DOTWEEN
Peux-tu être plus clair stp ?
Je commence à peine avec l'interface de la 4.6
Je commence à peine avec l'interface de la 4.6
Re: Trajet ITWEEN changé en trajet DOTWEEN
j'ai une solution freepl,
embauche un développeur! ça sera fait en deux temps, trois mouvements!
bon allez j'arrête de faire mon troll.....
embauche un développeur! ça sera fait en deux temps, trois mouvements!
bon allez j'arrête de faire mon troll.....
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: Trajet ITWEEN changé en trajet DOTWEEN
Je vois pas le problème, tu as la fontion Start() qui est appelée lorsque ton objet est créé. Tu as qu'à lancer tes Tween là dedans.