aaah je pense avoir compris en fait: je dois définir mon AudioSource avec une variable comme : var audio: AudioSource = GetComponent.<AudioSource>(); puis audio.Play();
et après pour changer l'audio : new WaitForSeconds(audio.clip.length)audio.clip = otherClip;
c'est ça?
Voila autre chose maintenant...
voila le nouveau script, maintenant il me dit: ";" expected. Insert a semicolon at the end
Il me dit ça pour la ligne: new WaitForSeconds(audio.clip.length)audio.clip = otherClip;
Pourtant je comprends pas, la source est de la doc Unity...
Le 28 mars 2017 à 18:52:12 hunter741 a écrit :
aaah je pense avoir compris en fait: je dois définir mon AudioSource avec une variable comme : var audio: AudioSource = GetComponent.<AudioSource>(); puis audio.Play();
Après lui avoir attribuer son component et avant de lui dire de jouer, il faut lui indiquer quel est sa musique courante :audio.clip = Sound;
Et le reste a l'air ok, tu alternes l'audioClip, oui, ça devrait fonctionner.
Oula malheureux, n'utilise pas WaitForSeconds dans un Update() !
Soit tu créés une nouvelle fonction pour changer de musique, et tu utilises waitForSeconds, soit tu utilises ton timer, dans ton Update.
La musiques censé se changer quand le timer atteint 0. donc il suffit juste que je retire new WaitForSeconds? puisque dans mon update j'ai if(timer <= 0){
timer = 0;
je suis perdu x)
Bonjour,
Je créé un jeu avec des amis sur Unity dans le cadre d'un projet pour mon école. Nous souhaiterions intégrer deux cinématiques à notre jeu, mais je n'arrive pas à trouver les informations nécessaires pour cela ... Pourrais-tu me donner des conseils ou m'orienter vers des pages qui pourraient nous être utile s'il-te-plaît ?
-La première cinématique serait à mettre entre le "made with unity" et le lancement de notre menu principal, qui est notre salle de lancement.
-La deuxième se déclencherait quand l'utilisateur reste trop longtemps sur ledit menu. J'ai lu qu'un timer AFK pourrait être pas mal, mais je n'ai pas trouvé suffisamment d’informations pour le mettre en place.
Merci d'avance
Le 28 mars 2017 à 19:19:00 hunter741 a écrit :
La musiques censé se changer quand le timer atteint 0. donc il suffit juste que je retire new WaitForSeconds? puisque dans mon update j'ai if(timer <= 0){timer = 0;
Si j'ai bien compris la logique de ton code :
- A partir du moment où tu as la collision, tu lances le timer et un boolean nommé "count".
- Quand tu as eu la collision count étant vrai, tu décrémentes ton timer.
- Une fois le timer à zero, tu ne l'utilises plus ET tu changes l'AudioClip (le fichier audio) et tu relances l'AudioSource.
J'ai refais le code en C#, parce que pas moyen de copier ton code:
using UnityEngine;
[RequireComponent(typeof(AudioSource))]
public class Hunter : MonoBehaviour
{
public AudioClip premierClip;
public AudioClip otherClip;
private float timer = 60.0f;
private bool count = false;
public AudioSource audioSource;
void Start ()
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = premierClip;
timer = premierClip.length;
}
void Update ()
{
if (count == true)
timer -= Time.deltaTime;
if (timer < 0 && count == true)
{
timer = 0;
count = false;
audioSource.clip = otherClip;
audioSource.Play();
}
}
void OnMouseDown()
{
Debug.Log("CLICK!");
audioSource.Play();
count = true;
}
}
Comme ça tu peux le tester.
La variable premierClip est le premier fichier audio, otherClip est le second.
J'ai remplacé la collision par OnMouseDown(), comme ça il me suffisait de cliquer sur un cube, par flemme...
Dans la méthode start, j'initialise le timer à la taille du premier fichier, pour que le deuxième clip soit lancé directement à la fin du premier (c'était peut-être pas ce que tu voulais, mais flemme d'attendre à chaque test).
T'as l'idée général et l'algorithme, plus qu'à refaire ça en Javascript.
N'hésite pas si tu as des problèmes (moi je suis pas un pro du JS, désolé).
Le 28 mars 2017 à 20:45:25 loulou448 a écrit :
Bonjour,
-La première cinématique serait à mettre entre le "made with unity" et le lancement de notre menu principal, qui est notre salle de lancement.
Bonjour,
Si tu as la version d'unity gratuite, tu ne peux rien mettre avant leur splahscreen.
Si tu veux mettre une vrai cinématique (donc une vidéo ?), il va te falloir charger une scene, avec un media video dessus, et quand c'est fini, tu charges ta scene menu (enfin, tu peux la charger pendant la vidéo aussi).
Si c'est une image, tu peux utiliser, dans les Player Settings, l'option dédié aux splahscreen.
-La deuxième se déclencherait quand l'utilisateur reste trop longtemps sur ledit menu. J'ai lu qu'un timer AFK pourrait être pas mal, mais je n'ai pas trouvé suffisamment d’informations pour le mettre en place.
Merci d'avance
Regarde le code que j'ai fais pour la personne juste avant toi, il y a un timer simple à mettre en place.
TheRealMarco Merci beaucoup! Ton script fonctionne à merveille , j'ai changé le OnMouseDown par OnTriggerEnter2D(Collider2D other) et tout fonctionne!
J'ai aussi modifié le script pour qu'il puisse aussi gérer la musique de backGround, comme un seul et même script gère l'audio pour tout les levels. Merci beaucoup!
J'ai bien la version gratuite d'unity malheureusement
Merci pour tes conseils je les essaie demain et je te tiens au courant
Le 19 mars 2017 à 09:56:28 TheRealMarco a écrit :
Aucune idée là comme ça, tu peux faire un package avec tout ton projet ?
RE ! désolé de répondre si tard je n'avais vraiment pas le temps
voici un lien avec la scène principale de mon jeu:
https://drive.google.com/drive/folders/0B-cX69y14423T0JMV1RiRnVLMms?usp=sharing
(va dans "partager avec moi" et télécharge le fichier )
Je ne vois pas d'où viens le bug si tu peu m'aider c'est vraiment cool
Le 31 mars 2017 à 16:57:07 skyfulle a écrit :
Le 19 mars 2017 à 09:56:28 TheRealMarco a écrit :
Aucune idée là comme ça, tu peux faire un package avec tout ton projet ?RE ! désolé de répondre si tard je n'avais vraiment pas le temps
voici un lien avec la scène principale de mon jeu:
https://drive.google.com/drive/folders/0B-cX69y14423T0JMV1RiRnVLMms?usp=sharing
(va dans "partager avec moi" et télécharge le fichier )
Je ne vois pas d'où viens le bug si tu peu m'aider c'est vraiment cool
Salut, merci mais impossible d'ouvrir ta scene de cette façon.
Pourrais-tu exporter le package ?
https://docs.unity3d.com/Manual/HOWTO-exportpackage.html
J'ai créé ma scène mais je ne comprends pas comment y importer ma vidéo. Je l'ai importée dans les assets et j'ai essayé de créer un cube pour y mettre ma vidéo mais ça ne marche pas. Idem avec un canvas et un panel. *j'ai aussi essayé de la mettre sur la camera en pensant que comme ca cette dernière afficherait ma video, mais ce ne marche pas non plus. Comment dois-je faire ?
Le 31 mars 2017 à 20:12:30 loulou448 a écrit :
j'ai aussi essayé de la mettre sur la camera en pensant que comme ca cette dernière afficherait ma video
La camera elle montre ce qu'il y a en face d'elle.
Comment dois-je faire ?
J'ai jamais eu à utiliser de vidéo dans mes créations, mais tu as juste à taper le format de ton image, suivi de "Unity" sur Google et tu devrai trouver...
https://docs.unity3d.com/ScriptReference/Handheld.PlayFullScreenMovie.html
http://justcode.me/unity2d/how-to-play-videos-on-unity-using-new-videoplayer/
(J'ai testé aucun des deux, c'est juste des exemples).
Le 31 mars 2017 à 16:57:07 skyfulle a écrit :
Le 19 mars 2017 à 09:56:28 TheRealMarco a écrit :
Aucune idée là comme ça, tu peux faire un package avec tout ton projet ?RE ! désolé de répondre si tard je n'avais vraiment pas le temps
voici un lien avec la scène principale de mon jeu:
https://drive.google.com/drive/folders/0B-cX69y14423T0JMV1RiRnVLMms?usp=sharing
(va dans "partager avec moi" et télécharge le fichier )
Je ne vois pas d'où viens le bug si tu peu m'aider c'est vraiment cool
Voila cette fois c'est la bonne
https://drive.google.com/open?id=0B-cX69y14423NmxvRjFVeC10eGs
Ta version d'Unity est supérieur à la mienne, et j'ai pas envie de mettre à jour tous mes projets. Donc je vais espérer pour toi que quelqu'un d'autres vienne regarder ton problème.
Tu peux toujours demander de l'aide sur le discord du forum, je n'y suis jamais allé mais il y a des développeurs qui venaient sur ce topic avant :
https://www.jeuxvideo.com/forums/42-31-49718108-1-0-1-0-discord-un-rendez-vous-pour-tout-le-monde.htm
Si tu vois UnityCodrer, tu es chanceux, il pourra certainement t'aider.
Bonjour,
Merci TheRealMarco pour cette marque de confiance...
@skyfulle :
Malheureusement, je ne suis pas accepté dans l'espace du lien donné par Marco.
Néanmoins il est possible de te faire dépanner par moi et ou d'autres personnes assez compétentes sur Unity sur un autre discord plus libéral https://discord.gg/6r2rxSX .
J'y serais présent dès Mardi soir ou au plus tard Mercredi, étant en ce moment en déplacement.
A+ peut être.
Yoop tout le monde,
J'ai fait un script de projectile, lorsque le joueur fait un clique gauche de souris, sa tire un projectile, mais j'aimerais que le projectile se focus sur l’ennemi le plus proche, mais je n'y arrive pas.
using UnityEngine;
using System.Collections;
public class PowerSystem : MonoBehaviour {
public GameObject projectile;
public float speedFactor;
public Vector3 rotation;
public Transform Zombie;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown (0)) {
GameObject clone = (GameObject)Instantiate (projectile, transform.position, Quaternion.Euler (rotation));
clone.GetComponent<Rigidbody2D> ().velocity = Zombie.position * speedFactor;
Debug.Log (Zombie.position);
}
}
}
J'ai essayé en donnant la position de l’ennemi clone.GetComponent<Rigidbody2D> ().velocity = Zombie.position * speedFactor;
mais aucun effet
Merci d'avance les gars
J'ai trouvé
se que j'ai modifié :
Avant clone.GetComponent<Rigidbody2D> ().velocity = Zombie.position * speedFactor;
Après clone.GetComponent<Rigidbody2D> ().velocity = (Zombie.transform.position - transform.position).normalized * speedFactor;