Controler de player 2D
3 participantes
Página 1 de 1
Controler de player 2D
Olá, eu sou iniciante no c#, comecei na unity a pouco tempo e queria saber como crio um script para controlar uma esfera 2D (Tipo um player basicamente), vocês podem me dar uma dica sobre? tutorial, script, etc...
queria muito saber'--'
queria muito saber'--'
Charlesoff- MembroAvançado
- PONTOS : 1781
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Controler de player 2D
Primeiro voce cria seu sprite de bola, arrasta ele para cena e tenta usar este script, adiciona a ele um rigdbody2d:
Aí no inspector vc pode colocar a velocidade e a forca do pulo que achar necessario.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2D pulo;
public Rigdbody2D rb;
void Start()
{
rb = GetComponent<Rigdbody2D>().
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.impulse);
}
}
}
Aí no inspector vc pode colocar a velocidade e a forca do pulo que achar necessario.
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Controler de player 2D
Pokedlg escreveu:Primeiro voce cria seu sprite de bola, arrasta ele para cena e tenta usar este script, adiciona a ele um rigdbody2d:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2D pulo;
public Rigdbody2D rb;
void Start()
{
rb = GetComponent<Rigdbody2D>().
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.impulse);
}
}
}
Aí no inspector vc pode colocar a velocidade e a forca do pulo que achar necessario.
Deu esse erro:
Assets\MovePlayer.cs(10,12): error CS0246: The type or namespace name 'Vector2D' could not be found (are you missing a using directive or an assembly reference?)
Charlesoff- MembroAvançado
- PONTOS : 1781
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Controler de player 2D
Opa, foi mal colquei um d kkk
tenta assim:
tenta assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2 pulo;
public Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.Impulse);
}
}
}
Última edição por Pokedlg em Seg Fev 08, 2021 12:18 pm, editado 2 vez(es)
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Controler de player 2D
eu acho que tbm faltou colocar "Rigidbody2D" ao invés de "Rigdbody2D", um ";" na linha 15 e na 28 Impulse com I maiúsculo
Última edição por SauloeArthur em Seg Fev 08, 2021 12:15 pm, editado 1 vez(es) (Motivo da edição : letra errada)
Re: Controler de player 2D
SauloeArthur escreveu:eu acho que tbm faltou colocar "Rigidbody2D" ao invés de "Rigdbody2D", um ";" na linha 15 e na 28 Impulse com I maiúsculo
É verdade, é que escrevi o código aqui mesmo, porque nao estou com a unity aberta e nao me atentei a esses pequenos erros, valeu, vou editar
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Controler de player 2D
Pokedlg escreveu:Opa, foi mal colquei um d kkk
tenta assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2 pulo;
public Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.Impulse);
}
}
}
- Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2 pulo;
public Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.impulse);
}
}
}[/size]
resolvi alguns erros, mas ta dando esse e n sei como resolver:
Assets\MovePlayer.cs(28,43): error CS0117: 'ForceMode2D' does not contain a definition for 'impulse'
Charlesoff- MembroAvançado
- PONTOS : 1781
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Controler de player 2D
O @SauloeArthur indicou alguns erros presentes no script e é porque escrevi o código aqui, mas o impulse é com I maiusculo, desculpe, editei la em cima
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Controler de player 2D
Resolvi!
codigo final:
codigo final:
- Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MovePlayer : MonoBehaviour
{
public float velocidade;
public float forca;
public Vector2 pulo;
public Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
Vector3 movimentacao = new Vector3(x,0,0);
transform.position += movimentacao;
pulo = new Vector2(0,forca);
if(Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(pulo, ForceMode2D.Impulse);
}
}
}
Charlesoff- MembroAvançado
- PONTOS : 1781
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Controler de player 2D
Valeu mano, ajudou dms
Charlesoff- MembroAvançado
- PONTOS : 1781
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» Fps controler
» Entrar e sair do carro
» Ajuda com scripts de inimigo e player'' interação de zumbi e player''
» HIT PLAYER
» Movimentaçao player
» Entrar e sair do carro
» Ajuda com scripts de inimigo e player'' interação de zumbi e player''
» HIT PLAYER
» Movimentaçao player
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos