protected override void OnLoad(EventArgs e) { base.OnLoad(e); Console.WriteLine(" --- Ajuda / Teclas: "); Console.WriteLine(" [ H ] mostra teclas usadas. "); Utilitario.AjudaJogo(); camera.Eye = new Vector3(0, 12, 17); camera.At = new Vector3(0, 0, 0); obj_Tabuleiro = new Tabuleiro(Utilitario.charProximo(), null, camera); objetosLista.Add(obj_Tabuleiro); objetoSelecionado = obj_Tabuleiro; // Ponto4D pto = obj_Tabuleiro.getPontoInicialPeca(Ambiente.MEIO, 0, 0.8f); // obj_Dado = new Dado(Utilitario.charProximo(), null, pto, 0.8f, new Cor(0, 0, 255, 255), new Cor(255, 0, 0, 255)); // objetosLista.Add(obj_Dado); // objetoSelecionado = obj_Dado; // camera.Eye = new Vector3(2, 2, 2); // camera.At = new Vector3(0, 0, 0); // obj_Cubo = new Cubo(Utilitario.charProximo(), null); // objetosLista.Add(obj_Cubo); // objetoSelecionado = obj_Cubo; #if CG_Privado //FIXME: arrumar os outros objetos objetoId = Utilitario.charProximo(objetoId); obj_Cilindro = new Cilindro(objetoId, null); obj_Cilindro.ObjetoCor.CorR = 177; obj_Cilindro.ObjetoCor.CorG = 166; obj_Cilindro.ObjetoCor.CorB = 136; objetosLista.Add(obj_Cilindro); obj_Cilindro.Translacao(2, 'x'); objetoId = Utilitario.charProximo(objetoId); obj_Esfera = new Esfera(objetoId, null); obj_Esfera.ObjetoCor.CorR = 177; obj_Esfera.ObjetoCor.CorG = 166; obj_Esfera.ObjetoCor.CorB = 136; objetosLista.Add(obj_Esfera); obj_Esfera.Translacao(4, 'x'); objetoId = Utilitario.charProximo(objetoId); obj_Cone = new Cone(objetoId, null); obj_Cone.ObjetoCor.CorR = 177; obj_Cone.ObjetoCor.CorG = 166; obj_Cone.ObjetoCor.CorB = 136; objetosLista.Add(obj_Cone); obj_Cone.Translacao(6, 'x'); #endif GL.ClearColor(0.5f, 0.5f, 0.5f, 1.0f); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.CullFace); }
protected override void OnKeyDown(OpenTK.Input.KeyboardKeyEventArgs e) { // Console.Clear(); //TODO: não funciona. if (e.Key == Key.H) { Utilitario.AjudaTeclado(); } else if (e.Key == Key.F1) { Utilitario.AjudaJogo(); } else if (e.Key == Key.Escape) { Exit(); } //-------------------------------------------------------------- else if (e.Key == Key.Number9) { objetoSelecionado = null; // desmacar objeto selecionado } else if (e.Key == Key.B) { bBoxDesenhar = !bBoxDesenhar; //FIXME: bBox não está sendo atualizada. } else if (e.Key == Key.Enter) { obj_Tabuleiro.enter(); } else if (e.Key == Key.E) { Console.WriteLine("--- Objetos / Pontos: "); for (var i = 0; i < objetosLista.Count; i++) { Console.WriteLine(objetosLista[i]); } } //-------------------------------------------------------------- else if (e.Key == Key.X) { menuEixoSelecao = 'x'; } else if (e.Key == Key.Y) { menuEixoSelecao = 'y'; } else if (e.Key == Key.Z) { menuEixoSelecao = 'z'; } else if (e.Key == Key.Minus) { deslocamento--; } else if (e.Key == Key.Plus) { deslocamento++; } else if (e.Key == Key.C) { menuSelecao = "[menu] C: Câmera"; } else if (e.Key == Key.O) { menuSelecao = "[menu] O: Objeto"; } // Menu: seleção else if (menuSelecao.Equals("[menu] C: Câmera")) { camera.MenuTecla(e.Key, menuEixoSelecao, deslocamento); } else if (menuSelecao.Equals("[menu] O: Objeto")) { if (objetoSelecionado != null) { objetoSelecionado.MenuTecla(e.Key, menuEixoSelecao, deslocamento, bBoxDesenhar); } else { Console.WriteLine(" ... Objeto NÃO selecionado."); } } else { Console.WriteLine(" __ Tecla não implementada."); } if (!(e.Key == Key.LShift)) //FIXME: não funciona. { Console.WriteLine("__ " + menuSelecao + "[" + deslocamento + "]"); } }