![]() |
|
![]() ![]() ![]() |
|
1.3 Movendo a câmera
Rem Configurar sync Sync On Sync Rate 30 Rem Criar 5 cubos e coloca-os aleatoriamente For x = 1 to 5 Make object cube x,100 Position object x,Rnd(2000),0,Rnd(2000) Next x Rem Loop principal Do Rem Armazena ângulo da câmera caY#= Camera angle Y() Rem Controlar entrada para o movimento da câmera If Upkey()=1 then Move camera 10 If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5) If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5) Rem Atualizar tela Sync Loop Nós iremos começar introduzindo a idéia do comando de loop (repetição) "For Next". For x = 1 to 5 Make object cube x,100 Position object x,Rnd(2000),0,Rnd(2000) Next x O comando de loop "For Next" é utilizado para rodar ou repetir um bloco de comandos por um número determinado de vezes. Nós utilizamos o nome da variável como sendo "x" neste comando loop para armazenar o número de vezes que este comando foi executado para quando o número de vezes que você especificou for igual ao número de vezes que o comando já foi executado, ele seja parado. No comando de loop "For Next" você sempre utiliza a palavra "To" para especificar o número de vezes que você deseha executar o loop. Neste caso nós executamos o loop de 1 "To" (até) 5 vezes. Nós colocamos os comandos que nós desejamos executar no corpo do loop. Nós utilizamos a instrução "Next" e uma unidade foi adicionada à variável "x" para significar o fim do loop. (Além de incrementar uma unidade para a variável "x"). Dentro da estrutura de loop nós criamos nosso objetos do tipo cubo, dando à ele um número de objeto com o mesmo valor da variável utilizada no loop. Agora nós iremos utilizar o comando "Position Object" para posicionar objetos nas coordenadas 3D em nosso cenário. O primeiro número no comando "Position Object" é o número do objeto que nós desejamos posicionar. Nós colocamos este número com a variável "x". Os 3 (três) valores depois do número do objeto são as coordenadas de espaço X(Largura), Y(Altura), e Z(Produndidade), onde nós queremos posicionar o objeto. No lugar das coordenas X e Z nós colocamos o comando "Rnd". O comando "Rnd" é utilizado para criar um número aleatório entre 0 (zero) e o número que você colocou entre parênteses. Cada vez que você executa o comando "Position Object", o novo objeto será posicionado na coordenada X e Z aleatória e uma coordenada Y igual a 0 (zero). If Upkey()=1 then Move camera 10 Nosso próximo novo comando é o comando "Move Camera". Este comando é similar ao comando "Move Object", exceto que você não precisa especificar um número de objeto. O número depois do comando é o número de unidades que você deseja mover a câmera quando a tecla "seta para cima" for pressionada em cada repetição do loop principal. If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5) If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5) O comando "YRotate Camera" é o mesmo que o comando "YRotate Object", exceto que este comando rotaciona a câmera em torno do eixo Y da câmera. Você deve agora ter um conhecimento de como mover e posicionar a câmera. Tente estas modificações para o programa original para ganhar um entendimento destes comando que serão utilizados mais adiante. Tente modificar o valor do comando "Rnd" para ver como a posição dos objetos modificam-se em relação ao outro. Tente modificar os valores nos comandos "Move Camera" e "Yrotate Camera" para ver a velocidade, lento ou rápido, você pode mover e rotacionar a câmera. |
|
Esta é a barra de navegação para explorar todos os tutoriais da série "A Caça Aos Monstros" |
| 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 2.1 | 2.2 | 2.3 | 2.4 | 2.5 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
| Copyright © 2003 Dark Basic Software Limited. | ||
| Virtual Object Informática Ltda.® |
![]() |
![]() |