Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#591
El "truco" d elas teclas, es lo mismo que el digitalRead que tienes ahí. Puedes guardar su estado anterior, no más.

CitarNo muestra nada en C#, solo se acumula en la variable lenguaje
¿C#? ¿Variable lenguaje?

En cualquier caso. ¿Tu problema es que no recibes datos del Arduino? Entonces comenta el switch y testealo por separado.
#592
Eso, tú verás. Yo te recomendaría OpenGL. Mejor comprender los cimientos antes de ponerse con algo de mucho más alto nivel, como es un engine.
#593
Las líneas curvas son una sucesión de lineas rectas. Parauna curva de Bézier, vasta que avances poco a poco y vayas dibujando las líneas.

Avanzar desde t=0 a t=1 a pasos pequeños (dependiendo de la calidad que busques), y dibujando.


De todos modos, creo que estás yendo demasiado rápido.
- Antes de trabajar con 3D, trabaja con 2D.
- Antes de dibujar curvas, dibuja polígonos.
- En resumen, no hagas cosas "mucho" más avanzadas de lo que puedes hacer ahora, o acabarás bloqueado. Según vayas haciendo cosas, irás viendo cómo hacer las siguientes.
#594
¿Un plano X y Z de coordenadas? ¿Hacerlo? Pues será escribir los números donde convenga. También lo haces con uno o dos FOR.
#595
¿Una cuadrícula? Es solo un conjunto de líneas. Si estás utilizando OpenGL antiguo, con glBegin y glVertex, solo sería poner glBegin(GL_LINES);.
Aquí han hablado de ello:
http://www.foro3d.com/f115/hacer-rejilla-en-opengl-en-2d-y-3d-66932.html

http://www.opengl-tutorial.org/es/
#596
Cita de: Meta en 17 Marzo 2017, 02:57 AM
La parte donde pone if (GetAsyncKeyState('A') & 0x8000) , precisamente 0x8000 no lo entiendo y no lo pone aquí.
No, no lo pone ahí. Lo pone aquí: https://msdn.microsoft.com/es-es/library/windows/desktop/ms646293(v=vs.85).aspx
CitarIf the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down
El bit más significativo en un short es, digamos, ""el de la izquierda"". 0x8000 en binario es 0b1000_0000_0000_0000. Haciendo un and (&), sacamos si ese bit está activo o no. Si está activo, el resultado será diferente de 0, así que se ejecutará el contenido del if. Si no está pulsada, el bit estará a 0, y el AND retornará 0. El if, en ese caso, no se ejecutará.

Cita de: Meta en 17 Marzo 2017, 02:57 AM
Parece ser que ignora esta instrucción.
Código (cpp) [Seleccionar]
Puerto->WriteData(Luz_OFF, sizeof(Luz_OFF) - 1);

Aquí una captura cuando pulsa solo la B o la A. Se repite muchas veces. (Si es posible hacer el tamaño de la ventana en la programación de C++, mejor que mejor).

Sobre el tema de que se repita muchas veces es porque el GetAsyncKeyState te dice que está pulsada, no si ha sido pulsada. Por tanto, si mantienes la tecla,  entrará muchas veces. Tendrías que controlar si ha sido pulsada ahora o si ya estaba pulsada.

Cita de: Meta en 17 Marzo 2017, 02:57 AM
Lo de recibir comandos desde el peurto serie o Arduino es este el que me refería:
Código (cpp) [Seleccionar]
Puerto -> ReadData(lectura, 50);
cout << "Recibido: " << lectura << endl;


Que este programa al mismo tiempo que envía comandos, también los puede recibir. Si el programa C++ no le hago nada, solo lo dejo arrancado, desde el puerto serie puede venir cualquier dato y C++ debe leerlo sin problemas.

Como dice MAFUS, esto es un protocolo con 2 programas. Conocemos el de Windows, pero no conocemos el de Arduino. ¿No podría ser problema del programa del Arduino?
#597
"No sabes si lo hace bien"? Pues yo menos ._.

En cualquier caso, mi respuesta iba orientada a:

Cita de: Meta en 16 Marzo 2017, 22:21 PM
Si pulsas la tecla, por ejemplo 5, primero se ve reflejado y luego tengo que pulsar Enter. Lo que quiero lograr es que si pulse el número 5, automáticamente ejecuta la instruacción del case 5 del Switch.
Para lo cual, puedes usar la función GetAsyncKeyState de WinAPI.
En al documentación explica su retorno:
CitarIf the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down

Por tanto, comprobamos el bit:
Código (cpp) [Seleccionar]
if(GetAsyncKeyState(tecla) & 0x8000){
    // Tecla pulsada
}


El código de la tecla es un VirtualKey Code: https://msdn.microsoft.com/es-es/library/windows/desktop/dd375731(v=vs.85).aspx. En cualquier caso, decirte que los codigos de las letras coinciden con los caracteres de las letras mayúsculas:

Código (cpp) [Seleccionar]
if(GetAsyncKeyState('A') & 0x8000){
    // Tecla 'A' pulsada
}



Y con respecto a lo del IDE que comentaste, no sé de qué hablabais, pero por supuesto que no importa el IDE.

y bueno, lo dicho:
CitarLuego recibir este comando que no se si lo hace bien.
Describe qué es lo que no sabes si hace bien y por qué.
#598
Tras ver todos los posts que has abierto, te diré que es mejor que busques un tutorial sobre lo que intentas hacer.

Y en respuesta a tu pregunta, así, y sin WinAPI:
Código (cpp) [Seleccionar]
int main()
{
    BSSSendMessageW(0, 0, 0, 0);
}


Obviamente no es lo que buscas, pero tampoco has explicado qué es lo que buscas. Me remito a la primera frase ~.~

En cualquier caso: https://msdn.microsoft.com/es-es/library/windows/desktop/ms633570(v=vs.85).aspx

¿Has creado alguna vez una ventana con la API de Windows? Si no lo has hecho, es el primer paso. De qué sirve aprender a arreglar cerraduras sin saber cómo funcionan :X
#599
Utilizando el input normal de la consola no puedes hacer esto que comentas.

Lo que sí puedes hacer, es utilizar funciones de WinAPI para obtener las teclas pulsadas, como GetAsyncKeyState. Entonces ya tendrás total control de la consola sin bloqueos para entrada del usuario. Incluso multi-thread si lo necesitases.
#600
scanf recibe como primer parámetro una cadena dependiendo de lo que quieras leer. %c es apra caracter. 1 caracter. %s es para una cadena. Prueba con %s.