Ta strona stosuje pliki cookies. Poczytaj co to jest w polityka cookies



Tworzenie gier 2D i 3D
Animacja 2d
Grafika 3D
Tworzenie muzyki

Kącik początkującego

Gimp Jak poruszać obiekt po spirali

   Pisałem już w poprzednich artykułach o tym jak poruszać naszą piłkę po okręgu i po elipsie w Androidzie. Teraz nadszedł czas by opisać sposób na ruch po spirali.

   Mając już zrealizowany ruch po okręgu czy elipsie możemy w łatwy sposób przerobić go na przemieszczanie się po spirali. Trzeba tylko zadbać o to, by promień z każdym przesunięciem się zmieniał się np. zmniejszał.

Przerobimy teraz nasz program tak, by najpierw piłka poruszała się w ruchu spiralnym do środka a po osiągnięciu promienia równego zero przeszła na wartości ujemne co oznacza, że znów promień będzie się zwiększał.

    local pilka_plazowa_mala display.newImage("pilka_plazowa_mala.png"
     
            
srodek_x=
250 
            srodek_y
=
250 
            pilka_plazowa_mala
.x=
srodek_x 
            pilka_plazowa_mala
.y=
srodek_y 
             
           i
=

          promien
=
200     
    
function przesun
()          
              
pilka_plazowa_mala.x=srodek_x+promien*math.sin(i

              
pilka_plazowa_mala.y=srodek_y+promien*math.cos(i

              
i=i+
0.2 
    promien
=promien-
1 
     
              
if i==360 then i=
0   end 
    end 
     
    Runtime
:addEventListener("enterFrame"przesun

Zobaczmy, że ta właśnie zmiana promien=promien-1 spowoduje, że przy każdym uruchomieniu promień będzie miał coraz to mniejszą wartość aż po ujemne. Można oczywiście cały czas bazować na warościach dodatnich lub też nie dopuścić, by piłka opuściła ekran ale to już inny temat.

corona_sdk_86.jpg

 Teraz piłka będzie poruszać się ruchem spiralnym napierw do środka a później na zewnątrz, by w końcu zniknąć z ekranu.


 

Ruch spiralny po elipsie


By dokonać tego samego ale na episie wystarczy zmodyfikować program ruchem po elipsie. Trzeba zmienić:

      promien_x=200       
      promien_y
=
100 

function przesun
()          
          
pilka_plazowa_mala.x=srodek_x+promien_x*math.sin(i

          
pilka_plazowa_mala.y=srodek_y+promien_y*math.cos(i

          
i=i+
0.2 
   promien_x
=promien_x-

   promien_y
=promien_y-
1 
          
if i==360 then i=
0

   end 

Zatem dodajemy zmianę nie samego promienia tylko promienia w osi X i Y. Oczywiście wartości tych zmian mogą być różne.

corona_sdk_87.jpg

  Na zdjęciu ukazuję w jaki sposób będzie się poruszać okrąg. Najpierw będzie to ruch eliptyczny w osi poziomej natomiast, gdy wartości promieni staną się ujemne wówczas elipsa się odwróci.



Czytaj dalej: Jak poruszać obiekt po okręgu?
Warning: include_once(includes/rss_fetch.php) [function.include-once]: failed to open stream: No such file or directory in /home/ekoinst/domains/pcwiedza.pl/public_html/tworzenie-gier/includes/funkcje.php on line 548

Warning: include_once() [function.include]: Failed opening 'includes/rss_fetch.php' for inclusion (include_path='.:/opt/alt/php52/usr/share/pear:/opt/alt/php52/usr/share/php') in /home/ekoinst/domains/pcwiedza.pl/public_html/tworzenie-gier/includes/funkcje.php on line 548

Różne

copyright © Pcwiedza.pl