Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Script criado por Rodrigo Martins Moraes, disponivel no grupo unity 3D Brasil: https://www.facebook.com/groups/unity3dbr/
- * e-mail para contato: rodrigo_moraes@hotmail.com.br
- */
- using System.Collections;
- using System.Collections.Generic;
- using System.IO.Ports; //<= permite utlizar as portas de comunicação ****API COMPATIBILITY LEVEL DEVE SER .NET 2.0 E NAO .NET 2.0 SUBSET
- using UnityEngine;
- public class pular : MonoBehaviour {
- SerialPort porta = new SerialPort("COM3", 9600); //define a variavel porta do tipo porta serial como a porta serial de comunicação 3 com velocidade de 9600 ***a porta com deve ser a que esta conectado o arduino
- public Rigidbody rb;
- public bool ascende_led = false;
- bool led = false;
- byte[] dados = { 0, 1 }; //cria um vetor de byte com os dados 0 e 1
- // Use this for initialization
- void Start()
- {
- porta.Open(); //abre a porta de comunicação
- porta.ReadTimeout = 1;
- rb = GetComponent<Rigidbody>();
- }
- // Update is called once per frame
- void Update () {
- if (Input.GetKeyDown("space")) //pula quando aperta a tecla espaço
- {
- rb.AddForce(0, 200, 0);
- }
- if (porta.IsOpen) //se a porta estiver aberta adiciona o byte lido a função "Recebe"
- {
- try
- {
- Recebe(porta.ReadByte());
- }
- catch (System.Exception) { }
- }
- if (ascende_led)
- {
- porta.Write(dados,1,1); //envia um byte do vetor dados posição 1 para a porta serial **** (nome_da_matriz,posição do vetor(0,1,2,3,4,...),numero de bytes a serem enviados)
- }
- else
- {
- porta.Write(dados,0,1); //envia um byte do vetor dados posição 0 para a porta serial
- }
- }
- void Recebe(int btn) //função "Recebe" define o byte recebido como um inteiro
- {
- if(btn == 10) //se esse byte for 10 entao o personagem pula
- {
- rb.AddForce(0, 200, 0);
- }
- }
- public void botao()
- {
- ascende_led = !ascende_led;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement