position camera
position camera
bonjour,
je suis debutant et là, je suis entrain de créer un petit jeu de platforme.
j'ai reussi a faire deplacer mon ennemi, dont voilà le script:
using UnityEngine;
using System.Collections;
public class moveTree : MonoBehaviour {
public Vector2 speed = new Vector2 (1, 0);
public Vector2 direction = new Vector2 (-1, 0);
private Vector2 mouvement;
void start(){
}
void Update () {
mouvement = new Vector2 (speed.x * direction.x, speed.y * direction.y);
}
void FixedUpdate(){
rigidbody2D.velocity = mouvement;
}
sauf que je voudrais qu'il commence a avancer uniquement quand il entre dans le champs de la camera ; camera qui suit le Player dont voilà le script:
public class suivreRenard : MonoBehaviour {
public Transform player;
void Start () {
}
void Update () {
transform.position = new Vector3 (player.position.x + 5 , player.position.y , -10);
}
}
donc aidez moi a recuperer la position X de la camera pour faire en sorte que l'ennemi ne commence a avancer que lorsqu’il entre dans le champ de la camera
je suis debutant et là, je suis entrain de créer un petit jeu de platforme.
j'ai reussi a faire deplacer mon ennemi, dont voilà le script:
using UnityEngine;
using System.Collections;
public class moveTree : MonoBehaviour {
public Vector2 speed = new Vector2 (1, 0);
public Vector2 direction = new Vector2 (-1, 0);
private Vector2 mouvement;
void start(){
}
void Update () {
mouvement = new Vector2 (speed.x * direction.x, speed.y * direction.y);
}
void FixedUpdate(){
rigidbody2D.velocity = mouvement;
}
sauf que je voudrais qu'il commence a avancer uniquement quand il entre dans le champs de la camera ; camera qui suit le Player dont voilà le script:
public class suivreRenard : MonoBehaviour {
public Transform player;
void Start () {
}
void Update () {
transform.position = new Vector3 (player.position.x + 5 , player.position.y , -10);
}
}
donc aidez moi a recuperer la position X de la camera pour faire en sorte que l'ennemi ne commence a avancer que lorsqu’il entre dans le champ de la camera
Re: position camera
Alors premièrement, tu nous donnes un ordre là ou bien je rêve ? Tu pourrais au moins user des politesses de bases en fin de sujet !kanon22 a écrit :donc aidez moi a recuperer la position X de la camera pour faire en sorte que l'ennemi ne commence a avancer que lorsqu’il entre dans le champ de la camera
Deuxièmement, écrire avec une police de 200px ne t'aideras pas à être pris en compte plus rapidement. Au contraire c'est très énervant autant que tu le sache.
Troisièmement, merci de baliser ton code. Si tu ne sais pas comment faire, merci de lire La Nétiquette des Forums !
Edit : Déplacement dans la section relative aux questions sur la programmation !
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: position camera
daccor, je vais faire un effort
Dernière édition par kanon22 le 09 Août 2014 01:43, édité 1 fois.
Re: position camera
fx mon cher, fx. Ce n'est pourtant pas la mort, pas besoin d'un "ché po koi".kanon22 a écrit :merci Ludlo ché po koi
En voilà une idée brillante. Te voilà encouragé de le faire. Avec tout mon soutien.kanon22 a écrit :je crois que je vais plutot arreter l'informatique
Le plus amusant, c'est que tu as trouvé le moyen de jouer avec les couleurs, mais tu n'as pas été capable d'utiliser les balises code.
Allez, vue que je suis un zentil poney tout doux, ze vais t'aider. Pour récupérer la position de la camera, rien de plus simple.
Dans ton script, tu déclare ta camera dans une variable Transform que tu assigne dans l'inspector
Code : Tout sélectionner
public Transform maCamera;
Code : Tout sélectionner
float positionX = maCamera.position.x;
Re: position camera
merci yoyoyaya mais j'ai pas reussi a faire se que je veux
soit faire une condition qui compare la position x de la camera a la position de lennemi(Pitbull)
en tous cas ça ne fonctionne pas
soit faire une condition qui compare la position x de la camera a la position de lennemi(Pitbull)
Code : Tout sélectionner
public class moveTree : MonoBehaviour {
public Vector2 speed = new Vector2 (1, 0);
public Vector2 direction = new Vector2 (-1, 0);
private Vector2 mouvement;
public Transform maCamera;
public Transform Pitbull;
void start(){
float positonX = maCamera.position.x;
float positonX1 = Pitbull.position.x;
}
void Update () {
if (positionX = positionX1) {
mouvement = new Vector2 (speed.x * direction.x, speed.y * direction.y);
}
}
void FixedUpdate(){
rigidbody2D.velocity = mouvement;
}
-
- Messages : 100
- Inscription : 13 Nov 2012 14:44
Re: position camera
Alors déjà dans un If(), on met "==" pour comparer des valeurs et voir si elles sont égales...
Si ton X Cam est égal au X Pitbull, le Pitbull avancera, sauf que toi tu veux que ton Pitbull avance quand il entre dans le champ de la Caméra.
Si j'étais toi j'utiliserai le fonction :
OnRenderer(), qui s'active quand l'objet est dans le champ de la Caméra. =)
Si ton X Cam est égal au X Pitbull, le Pitbull avancera, sauf que toi tu veux que ton Pitbull avance quand il entre dans le champ de la Caméra.
Si j'étais toi j'utiliserai le fonction :
OnRenderer(), qui s'active quand l'objet est dans le champ de la Caméra. =)
Développeur C# / Unity3D | Game Designer de Formation
Développeur Java / Php - En cours de Formation
Projets en Cours :
- Exode (Univers META-Pere)
• If you know the enemies and know yourself, you don't need to fear the result of a hundred battles •
Développeur Java / Php - En cours de Formation
Projets en Cours :
- Exode (Univers META-Pere)
• If you know the enemies and know yourself, you don't need to fear the result of a hundred battles •
Re: position camera
En effet donc peut-être qu'une lecture sur les opérateurs serait intéressante en cours de route. http://msdn.microsoft.com/fr-fr/library/ms173145.aspxElessar Elanesse a écrit :Alors déjà dans un If(), on met "==" pour comparer des valeurs et voir si elles sont égales...
C'est en C# mais bon par exemple, == ou != d'un côté vaux de même de l'autre en UnityScript.
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !
Re: position camera
j'ai enfin trouvééééééééééééééééééééééééééééééééééééééééé
et si ça vous interesse voilà la solution
donc merci de votre aide
vous etes geniaux
et si ça vous interesse voilà la solution
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class moveTree : MonoBehaviour {
public Vector2 speed = new Vector2 (1, 0);
public Vector2 direction = new Vector2 (-1, 0);
private Vector2 mouvement;
void start(){
}
void Update () {
Vector2 positionEcran = Camera.main.WorldToScreenPoint(transform.position);
if (positionEcran.x < Screen.width) {
mouvement = new Vector2 (speed.x * direction.x, speed.y * direction.y);
}
}
void FixedUpdate(){
rigidbody2D.velocity = mouvement;
}
}
donc merci de votre aide
vous etes geniaux