Skocz do zawartości

Przesuwanie tekstu kursorami


Paqoo

Rekomendowane odpowiedzi

Kolejne wiersze wpisuj jako string do kolejnych komórek jakiejś tablicy. Stwórz sobie jakąś zmienną W określającą na którym wierszu się znajdujesz (pierwszy wiersz do wypisania na samej górze). Następnie w draw w pętli rysuj wiersze od W do W+5.

W event'cie naciśnięcia odpowiedniej strzałki zwiększaj, albo zmniejszaj wartość W.

Odnośnik do komentarza
Udostępnij na innych stronach

do góry:

for(i=0;i<liczba_linii;i+=1)wiersz[i+1]

 

do dołu:

for(i=0;i<liczba_linii;i+=1)wiersz[i-1]

 

Dlaczego to nie działa?

 

OK, teraz przesuwa mi do góry, ale pojawiają się jakieś "0". Do dołu nie mogę przesunąć...

 

if w<liczba_linii{
w+=1}

if w>0{
w-=1}

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jaki masz problem, zrobilem teraz na szybkiego jak radzil Platyna:

GML (CREATE)
linia[0] = "linia 0";

linia[1] = "linia 1";

linia[2] = "linia 2";

linia[3] = "linia 3";

linia[4] = "linia 4";

linia[5] = "linia 5";

linia[6] = "linia 6";

linia[7] = "linia 7";

linia[8] = "linia 8";

linia[9] = "linia 9";

linia[10] = "linia 10";

aktualna_linia = 2; // od ktorej wyswietlamy</span></span>

 

GML (DRAW)
var wy;

wy = 20;

 

for(i=0;i<5;i+=1)

{

draw_text(50,wy,linia[aktualna_linia+i]); // wyswietlany od aktualnej_lini do aktualnej_lini+5 czyli 5 linijek

wy += 20; // nastepny 20 px nizej

}

 

Press up i Press down (ktore podepniesz pod klikniecia w buttony) to kolejno:

GML
aktualna_linia-=1;

aktualna_linia+=1;

 

Jedyny blad jaki moze wyskakiwac to array index out of bounds jesli zjedziesz za nisko lub za wysoko, ale wystarczy odpowiednio dorobic warunki, lub zeby wyswietlalo tylko jak zmienna istnieje.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam!

Podaję przykład podobny do przykładu Saus'a, ale w pliku GM7(GMK) i z tym, że nie będzie poza indexem tablicy.

Dodatkowo lepsze (przynajmniej według mnie) przechodzenie do kolejnej linii.

Przykład można pobrać tutaj:Przykład_linie.gmk

Co do tej reklamy (jeśli aktualne) to skorzystam chętnie (kontakt na PW).

W edicie zamieszczę kod.

EDIT:

Kod(to samo co w pliku GMK):

Create:

GML
linia[0]="tekst w linii 0"

linia[1]="tekst w linii 1"

linia[2]="tekst w linii 2"

linia[3]="tekst w linii 3"

linia[4]="tekst w linii 4"

linia[5]="tekst w linii 5"

linia[6]="tekst w linii 6"

linia[7]="tekst w linii 7"

linia[8]="tekst w linii 8"//teksty

ilelin=8//ilosc tych tekstow w tablicy tyle ze minus 1

pozycja=0//pozycja domyslna</span>

Draw:

GML
tekst=""

for(i=0;i<5;i+=1){

tekst+=linia[i+pozycja]+"#"//dodajemy tekst a # to enter

}

draw_text(x,y,tekst)

Key Up(kursor w górę):

GML
if(pozycja>0){

pozycja-=1

}

Key Down(kursor w dół):

GML
if(pozycja<ilelin-4){//bo 5 rysujemy od pozycji wiec nie moze byc wieksza bo przy rysowaniu nie zadziala

pozycja+=1

}

Jeśli efekt jest na odwrót(nie wiem dokładnie, w którą chciałeś zamień kursory (strzałki góra-dół).

Jeśli ta reklama jest dalej ważna proszę o kontakt, bo zależy mi na tym.

Z góry dziękuję, jak i mam nadzieję, że pomogłem.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam!

Musisz zrobic tak:

GML
linia[ilelin+1]="tresc"

ilelin+=1

I gotowe + musisz przesunac wyswietlanie(jesli chcesz).

PS.

Link do strony: http://ludzix.cba.pl/.

Tekst: Ludzix - gra internetowa

Ewentualnie obrazek: http://img641.imageshack.us/img641/5713/ludzixlogo.png

Z góry dziękuję i chętni udzielę innej pomocy :)

Odnośnik do komentarza
Udostępnij na innych stronach

Udało mi się zrobić żeby przesuwało niżej za każdym razem. Jak pozbyć się tych pustych linii na początku?

 

Draw:

GML
tekst=""

for(i=0;i<5;i+=1){

tekst+=linia[i+pozycja]+"#"//dodajemy tekst a # to enter

}

draw_text(x,y,tekst)

 

Jak dodać inny tekst? Tzn. ze zmiennej? Np. po zabiciu potwora tekst "Zabiles potwora".

Odnośnik do komentarza
Udostępnij na innych stronach

GML
linia[ilelin+1]='['+string(current_hour)+':'+string(current_minute)+'] '+"tresc"

ilelin+=1

if(pozycja<ilelin-4){pozycja+=1}

 

To dałem w alarm i nie rozumiem dlaczego kod się psuje jeśli wstawię zamiast "tresc" cokolwiek innego!?

Chciałbym żeby była to zmienna przechowująca tekst. Tekst byłby wysłany od potwora i wyświetlany. Dlaczego nie mogę tak zrobić?

 

GML
tekst=""

for(i=0;i<5;i+=1){

tekst+=linia[i+pozycja]+"#"//dodajemy tekst a # to enter

}

draw_text(x,y,tekst)

 

To jest draw...

 

Rozwiązałem problem. Nazwałem tak samo dwie zmienne i się pomieszały...

 

Zostaje więc sprawa - jak przejść na początku, na sam dół? Bo trzeba przewijać te 8 linii za każdym razem przy starcie gry...

 

Wykorzystam te linie do zrobienia malego samouczka... Problem rozwiazany :)

 

Jak pobrać te wszystkie linie do zapisu w plik tekstowy? Nie chce pobrać mi linii powyżej 5 (czyli poza pętlą).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...