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 pauzować czekanie - Android

     Gdy tworzymy opóźnienie czasowe to jest możliwość jego spauzowania a następnie odpauzowania. Zobaczmy to na przykładzie.

Napiszemy program, który będzie po 10 sekundach wyświetlał napis "Po 10 sekundach...". Dodatkowo dorobimy przycisk, którego naciśnięcie spowoduje pauzę, czyli wspomniany przed chwilą napis się nie pojawi aż naciśniemy drugi raz na button, czyli odpauzujemy i w sumie (przed spauzowaniem) upłynie te 10 sekund. Zobaczmy zatem kod:

function wyswietlTekst()
    
local tekst=display.newText("Po 10 sekundach..."100,100native.systemFont30
)end

czasID timer.performWithDelay(10000wyswietlTekst)

local przycisk=display.newRect(display.contentWidth-100display.contentHeight-100100100)
local tekstPauzy=display.newText("Pauza"display.contentWidth-90display.contentHeight-70native.systemFont30
)

tekstPauzy:setTextColor(2408,0
)

local czyWlaczonaPauza=
0

function pauzuj(event
)
    if 
event.phase == "began" 
then        
        
if czyWlaczonaPauza==0 then              
          
czyWlaczonaPauza=1     
          
print(czyWlaczonaPauza

          
timer.pause(czasID
)
          
pauza=display.newText("Spauzowano...",100100native.systemFont30

          
pauza:setTextColor(2408,0
)         
        else       
                  
czyWlaczonaPauza=0
                  
timer.resume(czasID)
                  
pauza.text=
"" 
        
end                      
   end
end

przycisk
:addEventListener("touch"pauzuj)

Kod może wyglądać przydługawo, ale tak naprawdę to składa się on z omawianych już uprzednio fragmentów kodu, dlatego jego zrozumienie nie powinno nastręczać kłopotów.

  • Najpierw wywołujemy timer.performWidthDelay i wynik przypisujemy do zmiennej czasID. Po 10 000ms czyli po 10s konstrukcja ta wywoła wyżej umieszoną w kodzie funkcję wyswietlTekst a mianowicie wyświetli tekst "Po 10 sekundach...".
  • Później tworzymy przycisk - też skopiowany z uprzednych artykułów i umieszamy go na samym dole z napisem Pauza. Na samym końcu dopisujemy śledzenie czy został od dotknięty a jeśli tak to wywoła on funkcję pokazuj(), którą teraz omówimy
  • Jeszcze przed funkcją pokazuj() ustawiamy zmienną czyWlaczonaPauza na 0 a już w samej funkcji sprawdzamy najpierw czy faza dotyku to początek a następnie czy pauza jest włączona czyli czy czyWlaczonaPauza jest równa 1 czy 0 co zmieniamy na stan przeciwny i dla zera wyłączamy timer.pause(czasID) i wyświetlamy tekst "Spauzowano..." Teraz czekanie nam nic nie da. Dopiero ponowne wciśnięcie przycisku spowoduje zniknięcie napisu "Spauzowano..." poprzez przypisanie pustego łańcuch poleceniem pauza.text="" oraz odpauzowanie poleceniem timer.resume(czasID).

corona_sdk_55.jpg

Efekt naciśnięcia pauzy



Czytaj dalej: Opóźnienie czasowe - Android
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