pour débuter avec Unity j'ai pensé que me confronter à l'élaboration d'un jeu de mini golf serait la chose la plus simple. Je peux par la suite intégrer mes travaux 3D.
J'ai trouvé un ensemble de vidéos dont celles de Formation facile : https://www.youtube.com/watch?v=7cA06UK6FfM
Je me suis donc lancé avec plaisir dans l'écoute de ces vidéos et je me suis attelé à taper le code au fur et à mesure tout en essayant de comprendre les rudiments du code.
Malheureusement, le tuto présente des lacunes au niveau de la présentation du code et je suis dans l'incapacité de faire bouger ma balle. Je ne comprends pas pourquoi !
L'un d'entre vous peut-il me mettre sur la voie ?
Code : Tout sélectionner
static var canShoot : boolean = true;
static var shootPower : float = 0;
static var speedBonus : int = 0;
var target : Transform;
var camDistance = 2;
var minCam : float = 0;
var nbShoots : int = 0;
var xSpeed = 150.0;
var ySpeed = 150.0;
var yMinLimit = 0;
var yMaxLimit = 0;
private var x = 0.0;
private var y = 0.0;
@script AddComponentMenu("Camera-Control/Mouse Orbit")
function Start ()
{
var angles = transform.eulerAngles;
x = angles.y;
y = angles.x;
}
function FixeUpdate ()
{
if (Input.GetButtonUp("Fire1") && canShoot == true)
{
nbShoots += 1;
target.rigidbody.freezeRotation = false;
target.gameObjet.rigidbody.velocity = transform.TransformDirection (Vector3(0,0, shootPower + speedBonus));
canShoot = false;
}
}
function LateUpdate ()
{
print(target.rigidbody.velocity.magnitude); //pour afficher dans la console
if (target)
{
x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
shootPower += Input.GetAxis("Mouse Y") * ySpeed * 0.01;
if (shootPower < 0)
{
shootPower = 0;
}
if(shootPower > 25)
{
shootPower = 25;
}
y = ClampAngle (y, yMinLimit, yMaxLimit);
var rotation = Quaternion.Euler(y,x,0);
var position = rotation * Vector3(0.0, 0.0, -camDistance) + target.position;
transform.rotation = rotation;
transform.position = position;
if(transform.position.y < minCam)
transform.position.y = minCam;
}
if (Input.GetButtonUp("Fire2") && camDistance == 2)
{
camDistance += 5;
}
else if(Input.GetButtonUp("Fire2") && camDistance == 7)
{
camDistance -= 5;
}
}
static function ClampAngle (angle : float, min : float, max : float)
{
if (angle < -360)
angle += 360;
if (angle > 360)
angle -= 360;
return Mathf.Clamp (angle, min, max);
}
Merci