C64Power Forum
Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: Wata w 08 Lutego 2007, 14:08
-
Witam. W kilku basicowych demach zauważyłem wielokolorowe znaki wyświetlane jednocześnie na ekranie (bynajmniej kolory nie były zmieniane za pomocą zmiany kolorów poszczególnych punktów). W kodzie zauważyłem znaki tego typu:
http://img358.imageshack.us/img358/4228/znakidn6.jpg
Czy ktoś ma doświadczenie z tego typu wyświetlaniem i czy ew. wie w jaki sposób uzyskać takie znaki ? Ciekawi mnie też w jaki sposób można uzyskać znak \'pełnego kwadratu\' 8x8 którego nie ma w tablicy znaków (przynajmniej tak mi się wydaje:) i nie chodzi mi tu o ręczne wypełnianie pamięci a wyświetlenie z poziomu print chr$.
Pozdrawiam.
-
Napisz i urucho sobie taki program :
10 for i=0 to 255
20 poke 1024+i,i
30 next
run
i masz :D
-
He... zmiana koloru w basicu nie jest trudna, ale wymaga obszerniejszego opisu (zależy jaki masz stan wiedzy na temat Basic`a).
Ogólnie mówiąc znaczki te powstają w trybie cudzysłowu (jak wpiszesz pierwszy raz \' to włączasz ten tryb, kolejny \' wyłączenie lub return)
W trybie tym, wciskając kombinacje klawiszy t.j. shift+home, zmiana koloru ctrl+0..9 albo z C= itd,- nie spowodujesz wykonania rozkazu sterującego, ale właśnie wyświetli ci się jeden ze znaczków który podałeś. Przy uruchomieniu programu znaczki te odpowiadają wciśnięciom właśnie tych kombinacji klawiszy, czyli zmienią ci kolor znaków, albo wyczyszczą ekran.
Ta zasada akurat dotyczy też \'pełnego\' kwadratu 8x8 (bo to jest inwersja znaku pustego SPACJI), ctrl+9 włączasz inwersję znaków ctrl+0 wyłączasz (oczywiście w trybie cudzysłowu pokażą ci się odp. znaczki)
Kolor znaków można również zmieniać instrukcją : poke 646,nr_koloru
Nie wiem, czy wytłumaczyłem - ale się starałem. pozdro
-
Skull dzięki. Nie wiedziałem że poprzez print odpowiedniego znaku można zmienić kolor. Mam jeszcze pytanie o wyświetlenie tego zapełnionego kwadratu. W jaki sposób uzyskać inwersję spacji ? po uruchomieniu trybu wyświetlania znaków specjalnych C= ze spacją daje zwykłą spację... Pozdrawiam i dzieki jeszcze raz
-
Albo dajesz control + 9
albo piszesz np coś takiego
print chr$(18);:printchr$(64);:
w ten sposób będziesz miał odwrócony znakczek \'A\'
albo jak wyżej tyle że zamiast drugiego printa piszesz print\'ODWROCONY TEKST\'
-
Dzięki. Jakoś się udało. Nie wiedziałem że ctrl+9 (dające R z tłem) + spacja (której nie widać) dadzą w cudzysłowach zapełniony kwadrat. Pozdrawiam i dzięki jeszcze raz.
-
w zestawie znakow podstaowywch znaki 128-255 to revers znakow 0-127 , czyli jesli spacja to 32 => odwrocona spacja to 160 ;-)