Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Chcę za pomocą kursorów przesuwać wiersze w konsoli.

 

Wyświetla mi do 6 linii.

 

Po naciśnięciu strzałki w dół linie powinny przejść niżej i analogicznie strzałka w górę - wyżej.

 

Ktoś wie jak to zapisać?

Opublikowano

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.

Opublikowano

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}

Opublikowano

Jeśli mi ktoś pomoże to zrobić żeby działało poprawnie to dostanie bezpłatną reklamę na mojej stronie internetowej! Męczę się z tym cały dzień ;s

Opublikowano

Wątpię by ci ktoś pomógł, bo opisałeś to w taki sposób, że nijak nie idzie zrozumieć o co ci chodzi (ten ostatni post).

 

Poza tym przeczytaj regulamin. Doubleposty są zabronione. Ale tym razem daruję.

Opublikowano

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.

Opublikowano

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.

Opublikowano

Jak mam dodać nową linie z tekstem? Np. po zabiciu potwora? Robie alarm i co mam w kod wpisać?

 

Jeśli chcesz reklame podaj adres linka i treść.

 

Dostaniesz ją na tydzień za free, bo jest płatna.

Opublikowano

Jak zrobić żeby przechidził do ostatnio napisanej linii? W jaki sposób usunąć te teksty "tekst w linii 0" itp. Tylko żeby ich nie było w ogóle!

Opublikowano

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".

Opublikowano

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ą).

Opublikowano

Jak chcesz zapisać wszystkie linie to tak:

GML
pl=file_text_open_write("plik.txt")

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

file_text_write_string(pl,linia)

file_text_writeln(pl)

}

file_text_close(pl)

EDIT:

Jeśli chodzi o coś innego chętnie odpowiem, ale po 15 :( , bo idę.

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ę...