-
Postów
196 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Choosen
-
Ehh specjalisci ;) Nicolas ... Tworzysz obiekt postac ( u mnie ludek ) i obiekt po zetknieciu z ktorym i wcisnieciu klawisza enter ma sie pojawic jakis komunikat ( u mnie gadanie ) Nastepnie "otwierasz" obiekt ludek do edycji. Wybierasz event kolizji z obiektem gadanie i dajesz tam klocek execute a piece of code a w nim : if keyboard_check(vk_enter) { show_message("cos tam"); } koniec...
-
Jesli chcesz zeby pulpit znalazl się wewnatrz twojego okna to podaj jako tlo wzkaznik na nieistniejący zasób :] Jesli chcesz rysowac po pulpicie to musisz pobrac kontekst urządzenia nadrzędnego czyli pulpitu... i juz :thumbsup:
-
jasne :-) interesuje cie kolejnosc ? P.S. 9200 ptk rank 2 :-) Edit Choosen : nowy rekord 11200 rank 1
-
8400 rank 5 :-) fajna giera :D
-
Zapewne prosty problem - zmienne
Choosen odpowiedział(a) na Quetzacotl temat w Pytania początkujących
Tworzysz sobie dowolny obiek i dajesz mu dowolny sprite. Nastepnie w dziale create dajesz klocek execute a piece of code a w nim piszesz : { alarm[0]=1; speed=0; direction=floor(random(360)); } W alarm[0] dajesz ten sam klocek a w nim : { alarm[0]=1; speed+=0.2; direction+=5; } -
Zapewne prosty problem - zmienne
Choosen odpowiedział(a) na Quetzacotl temat w Pytania początkujących
A własnie ze wystarczy! Mało tego... własnie tak sie to robi ;) -
Oj tam czepiasz sie... :jezor: No dobra.. dobra.. moze troche pospieszylem sie z zalozeniami ;)
-
Hehe jak milo znow wrocic do korzeni :) Na poczatek jedna uwaga... zauważcie, że jesli linijka konczy się na A to zaczyna się na B i odwrotnie.. nie ma wiec sensu zalozenie jesli parzysta jesli nie parzysta.. wystarczy je pisac naprzemiennie ABABABA i w odpowiednim miejscu konczyc linie ;) Program kwadrat; uses crt; var m,n,i,j :integer; litera : char; Begin clrscr; write('Podaj liczbe wierszy : '); readln(m); write('Podaj liczbe kolumn : '); readln(n); writeln; litera:='A'; for i:=1 to m do begin for j:=1 to n do begin write(litera); if (litera='A') then begin litera:='B'; end else begin litera:='A'; end; end; writeln; end; readkey; end. A tak to bedzie wygladac... Podaj liczbe wierszy : 4 Podaj liczbe kolumn : 5 ABABA BABAB ABABA BABAB
-
Niestety nie... ale zapowiada się calkiem ciekawie. Wspolpracuje z wieloma platformami... no i jest latwiejszy od OpenGLa... a cos tak latwego trudno uproscic ;-)
-
Ja nie bardzo rozumiem problemu z portami... :huh: Zarówno adres jak i port mozesz pobrac poprzez zwyklego pop-up'a ( tak jak to bylo w moim przykladzie ktorego juz zapewne nie ma na serwerze :) ) pozniej łączysz pobrane dane w jeden ciąg znakow aby jego format byl następujący : adr:adr:adr:adr:port Pamietaj ze skladowe adresu nie mogą przekraczac 255 a port 63999 ale przeciez to wiesz :-)
-
Nie... chyba ze ją wyslesz. Jest taka mozliwosc i bez problemu powinienes sobie poradzic z napisaniem takiego skryptu. Wystarczy odrobina chęci i podstawy angielskiego... jak stoisz z angielskim ? Edit By Sadam : Choosen ty żyjesz! Huuuuraaa!!
-
persistent=true; Pamiętaj zeby wylaczyc tą wlasciwosc jak juz przeniesiesz sie do strefy rozstawiania jednostek... w przeciwnym wypadku jesli znow wejdziesz do koszarow jednostki z pola bitwy tez sie tam znajdą... no chyba ze podczas gry do koszarow mozna bedzie wejsc tylko raz......
-
Hmm... przesuwasz "Origin" sprite'a na miejsce gdzie chcialbys any znajdowal sie srodek ciezkosci. Wowczas mozesz traktowac x, y obiektu jako wspolrzedne srodka ciezkosci.
-
Fizyka sie klania ;) Srodek ciezkosci.. vektor sily, wspolczynnik tarcia.. nie no pikus ale ja sie nie podejme ;)
-
prawdopodobnie string jest tablicą znakow więc mozesz isc po komorkach tablicy az napotkasz znak podzialu ( w tym przypadku srednik ) co oznaczac bedzie ze od poczatku do tego znaku masz pierwszy wyraz itd...
-
ehh... warzone.. jeszcze do dzis figurki imperialistow stoją na polce. Wlasnorecznie malowane przywołują wspomnienia... no coz powodzenia zycze i czekam na gre :P
-
Ja tylko dodam od siebie, ze takie cos jest jak najbardziej wykonalne i daje duzo lepsze efekty niz zwykla aniamacja klatka po klatce ( w przypadku postaci gdzie animacja jest dosc skomplikowana o wiele latwiej zorganizowac to na podstwie szkieletu ) oczywiscie takie elementy skladowe musialyby byc odpowiednio narysowane.. ale to chyba oczywiste :)
-
poprawne rozwiazanie napisalem ci pod moim postem
-
hehe Remx zadajesz zbyt skomplikowane pytania jak na to forum :lol: Przedewszystkim musisz w kazdej postaci zaznaczyc wartosc o jaką mozna przesunac widok po jej zaznaczeniu. Nastepnie tworzysz "flagę" ktora bedzie mowic czy dana postac jest zaznaczona. ( Pamietaj tez zeby odznaczyc wszystkie pozostale postacie zaznaczając tą jedyną ). Tak przygotowany tworzysz view[0] i ustawiasz jego parametry. Nie wiadomo czy zaznaczona postac ma "zasieg widzenia " wiekszy niz aktualne ustawienia widoku... wiec na wszelki wypadek zawsze centruj widok na zaznaczanej postaci. Nastepnie w step kursora myszki sprawdzasz 3 rzeczy : 1) czy postac jest zaznaczona 2) czy kuror jest blisko krawedzi widoku 3) czy odleglosc kursora myszki od postaci nie jest wieksza niz zasieg widzenia Jesli wszystkie te wartosci są pozytywne ( sprawdzasz warunek dla AND ) to mozna przesuwac jesli nie.. to nie. Jesli nie poradzisz sobie mimo mojej podpowiedzi, daj znac z czym masz problem ( lub jesli w ogole nie zrozumiales ) a postaram sie wyjasnic bardziej dokaldnie.
-
Jesli ilosc pociskow wynosi 2 a petle zaczynasz od 0 przy zalozeniu for i=0;i<=ilosc to petla wykona sie 3 razy. Być moze to sprawia ze czasami wychodzi ci wieksza ilosc obrazen niz wynika to z obliczen. Co do reszty kodu nie znalazlem bledu, ale nie bardzo rozumiem za co on odpowiada. O ile dobrze to wywnioskowalem napisales 2 alternatywne rozwiazania na ten sam problem tak ? var w,k; { w=(global.ARp-global.OBs); for (i=0; i<global.OBsx; i+=1) { kostka(); if (global.ko>w)global.dmg+=1 }}
-
Hm.. dzieki za uznanie, ale nie popadajmy w histerie to tylko stoper ;-) A skoro juz o tym mowa zrobilem przyklad zeby wszystko bylo jasne. Do sciagniecia z naszej strony.
-
To chyba niewiele probowales :P W kazdym "room'ie" mozesz ustawic wartosc "speed" Mowi ona ile klatek animacji na sekunde jest wykonywane. Jesli room speed bedzie wynosic 30. O znacza to ze po wykonaniu sie 30 klatek uplynie 1 sekunda. Jasne ? Jak to wykorzystac : Tworzysz sobie kilka zmiennych w dowolnym obiekcie... nazwyjmy go zegar create : klatki = 0; sekundy=0; minuty=0; godziny=0; Nastepnie w dziale step obiektu zegar wstawiasz kod : if klatki<30 klatki+=1 else {sekundy+=1; klatki=0;} if sekundy=60 { sekundy=0; minuty+=1 } if minuty=60 { minuty=0; godziny+=1 } Kod tem mowi zeby co klatkę zwiekszac wartosc zmiennej "klatki" o jeden. Dzieki temu mozemy stwierdzic ze jezeli wartosc tej zmiennej wynosi 30 uplynela dokladnie jedna sekunda. Skoro tak to zwiekszamy wartosc naszego zegra o 1 dla wartosci sekund. Nastepnie sprawdzamy czy tych sekund nie bylo juz 60, bo jesli tak to uplynela wlasnie minuta... itd itp. Pozostaje tylko wyswietlic naszą godzinę W dziale draw wstawiamy klocek draw a text i w polu tekst wpisujemy : ""+string(godziny)+"."+string(minuty)+"."+string(sekundy)
-
Nie wiem co z literami bo nie moge sciagnac pliku.... ale te "wahania" wynikają z tego ze pozycja przycisku aktualizowana jest dopiero PO przesunieciu "view[X]" Przesuwamy widok w daną stronę i dopiero potem koordynaty podane w step nie są aktualne w zwiazku z czym wykonuje się operacja : x=view_left[0]+683 y=view_top[0]+280 Jest to błąd a przynajmniej jesli nie chcesz wahan. Aby to naprawic nalezy stworzyc przycisk w odpowiednim miejscu poleceniem instance_create(view_left[0]+683,view_top[0]+280,oMove1); a nastepnie w kodzie przesuwajacym view[X] dodac 2 linijki uaktualniające pozycje guzika wzgledem pozycji obrazu i to nie komendą x=view_left[0]+683 a jedynie x+=1 ( np ) Jesli nie zrozumiales o co chodzi to napisz... a wyjasnie dokladniej
-
Jak dla mnie opcja nr 1. Gra .. he Ultima Online :thumbsup: Na pytanie o klimat fantasy chyba nie musze odpowiadac ? ;)
-
Losowanie liczby z danego zbioru robi się na tablicach ( tak jak to opisalem w innym temacie), ale w twoim wypadku wystarczy cos takiego : liczba=round(random(15))*32