14-12-2014, 01:20 PM
(Questo messaggio è stato modificato l'ultima volta il: 14-12-2014, 01:24 PM da Chip.)
Prendi due sprite
Il lander: http://opengameart.org/content/eye-lander
un backgroud: http://opengameart.org/content/background-dark-city
Crea un nuovo progetto 2D (non faccio 2D in Unity quindi mi sono limitato a usare il progetto di unity)
Crea le solite 4 cartelle (perché siamo personcine precise ) Scripts, Textures, Prebas, Scenes
Ficca le due immagini in \Textures\ poi trascinale sulla scena avendo cura di scalare lo sfondo e di mettere il player ad una z= -1 così va sopra a tutto un pò pecoreccio ma meglio di niente.
Aggiungi al player un RigidBody2D (altrimenti tocca a gestire tutta la fisica a manella via codice) se non vuoi che l'oggetto cada toglie la gravità.
Crea un nuovo script per il player, chiamalo PlayerController (o come vuoi). O lo aggiungi direttamente dall'inspector con il player attivo oppure crealo nella cartella Script e poi trascinalo sul player.
Scrivi questo codice:
Preimposta da Unity V2muovi a 0,0 e 50 per la velocità hor e vert a me va decentemente.
Il lander: http://opengameart.org/content/eye-lander
un backgroud: http://opengameart.org/content/background-dark-city
Crea un nuovo progetto 2D (non faccio 2D in Unity quindi mi sono limitato a usare il progetto di unity)
Crea le solite 4 cartelle (perché siamo personcine precise ) Scripts, Textures, Prebas, Scenes
Ficca le due immagini in \Textures\ poi trascinale sulla scena avendo cura di scalare lo sfondo e di mettere il player ad una z= -1 così va sopra a tutto un pò pecoreccio ma meglio di niente.
Aggiungi al player un RigidBody2D (altrimenti tocca a gestire tutta la fisica a manella via codice) se non vuoi che l'oggetto cada toglie la gravità.
Crea un nuovo script per il player, chiamalo PlayerController (o come vuoi). O lo aggiungi direttamente dall'inspector con il player attivo oppure crealo nella cartella Script e poi trascinalo sul player.
Scrivi questo codice:
Codice:
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public Vector2 v2muovi = new Vector2(0f,0f);
public float horizontalSpeed = 0.0f;
public float verticalSpeed = 0.0f;
// Use this for initialization
//void Start () {
//
//}
// Update is called once per frame
void Update ()
{
//prendo assi e ottengo il (-1..+1) poi moltiplico per la velocità
float h = horizontalSpeed * Input.GetAxis("Horizontal");
float v = verticalSpeed * Input.GetAxis("Vertical");
//azzero la forza altrimenti diventa un missile
rigidbody2D.velocity=Vector2.zero;
//il mio vettore pari alle
v2muovi.x=h;
v2muovi.y=v;
//applica la forza di vettore 2D (v,h)
rigidbody2D.AddForce(v2muovi);
}
}
Preimposta da Unity V2muovi a 0,0 e 50 per la velocità hor e vert a me va decentemente.