Prosta animacja i nie działa

Prosta animacja i nie działa
ann_krk
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:3
0

Mam bardzo prostą animację, która się nie uruchamia:

Kopiuj
draw = function(){
  fill(189, 53, 53);
    textSize(17);
    var newText = "new text ";
    var newText2 = "- I don't know what !?";
    var x = 92;
    text (newText + newText2, x, 160, 400, 150);
    //nie animuje mi tekstu nie wiem dlaczego
    x = x + 10;
} ;

------------------------
Od czegoś trzeba zacząć, żeby potem dobrze skończyć ;-)
edytowany 1x, ostatnio: hauleth
hauleth
Używaj bloków do wstawiania kodu, będzie się łatwiej czytało.
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Poznań
  • Postów:8797
3

Wrzuć proszę na http://jsfiddle.net i podeślij link do swojej wrzutki, wtedy łatwiej będzie nam coś Ci poradzić.

Poza tym nie widzę powodu, dla którego to by miało się animować. Powinna być w tym celu jakaś pętla, która się odpala cyklicznie i zmienia wartość pozycji. Tutaj tego nie ma. Zmienną X deklarujesz wewnątrz funkcji, a następnie pod koniec ją zwiększasz o 10. Ale podczas kolejnego wywołania, zmienna X jest ponownie inicjowana i otrzymuje tą samą wartość - var x = 92;. W ten sposób to nie będzie raczej działać ;)


edytowany 2x, ostatnio: cerrato
krancki
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:74.7261832, -41.7409518
  • Postów:151
2
Kopiuj
var x = 92;
text (newText + newText2, x, 160, 400, 150);
//nie animuje mi tekstu nie wiem dlaczego
x = x + 10;

za każdym wywołaniem funkcji będziesz miał
text (newText + newText2, 92, 160, 400, 150);
o to ci chodziło ?

cerrato
Ładnie się zgraliśmy z czasem odpowiedzi ;)
ann_krk
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:3
0

Chodziło o to, żeby tekst przesuwał się po osi x. Dlatego x=x+10;


------------------------
Od czegoś trzeba zacząć, żeby potem dobrze skończyć ;-)
cerrato
Zobacz co @krancki oraz ja Ci napisaliśmy :P
ann_krk
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:3
1
Kopiuj
var x = 92;
draw = function(){
fill(189, 53, 53);
textSize(17);
var newText = "new text ";
var newText2 = "- I don't know what !?";
text (newText + newText2, x, 160, 400, 150);
x = x + 1;
} ;

mała korekta (x wyrzucone przed funkcję) i działa
Dzięki wasze podpowiedzi mi dużo dały :-)


------------------------
Od czegoś trzeba zacząć, żeby potem dobrze skończyć ;-)
edytowany 2x, ostatnio: hauleth
cerrato
Fajnie, że się udało, polecamy się na przyszłość :)
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8423
1
cerrato napisał(a):

Wrzuć proszę na http://jsfiddle.net i podeślij link do swojej wrzutki, wtedy łatwiej będzie nam coś Ci poradzić.

Poza tym nie widzę powodu, dla którego to by miało się animować. Powinna być w tym celu jakaś pętla, która się odpala cyklicznie i zmienia wartość pozycji.

koncepcyjnie pętla, ale w przypadku JavaScript to prędzej funkcja, która by się wywoływała cyklicznie (np. setInterval czy requestAnimationFrame)


cerrato
Zgadza się. Po prostu chodziło mi o ogólny zarys/koncepcję, a do detali byśmy doszli, jakbym dostał link do jsfiddle ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.