Skocz do zawartości

Choosen

Użytkownicy
  • Postów

    196
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Choosen

  1. 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...
  2. 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:
  3. Choosen

    The Sandbox of God

    jasne :-) interesuje cie kolejnosc ? P.S. 9200 ptk rank 2 :-) Edit Choosen : nowy rekord 11200 rank 1
  4. Choosen

    The Sandbox of God

    8400 rank 5 :-) fajna giera :D
  5. 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; }
  6. A własnie ze wystarczy! Mało tego... własnie tak sie to robi ;)
  7. Choosen

    Pascal

    Oj tam czepiasz sie... :jezor: No dobra.. dobra.. moze troche pospieszylem sie z zalozeniami ;)
  8. Choosen

    Pascal

    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
  9. Choosen

    GLFW

    Niestety nie... ale zapowiada się calkiem ciekawie. Wspolpracuje z wieloma platformami... no i jest latwiejszy od OpenGLa... a cos tak latwego trudno uproscic ;-)
  10. 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 :-)
  11. 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!!
  12. Choosen

    RTS

    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......
  13. Hmm... przesuwasz "Origin" sprite'a na miejsce gdzie chcialbys any znajdowal sie srodek ciezkosci. Wowczas mozesz traktowac x, y obiektu jako wspolrzedne srodka ciezkosci.
  14. Fizyka sie klania ;) Srodek ciezkosci.. vektor sily, wspolczynnik tarcia.. nie no pikus ale ja sie nie podejme ;)
  15. 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...
  16. ehh... warzone.. jeszcze do dzis figurki imperialistow stoją na polce. Wlasnorecznie malowane przywołują wspomnienia... no coz powodzenia zycze i czekam na gre :P
  17. 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 :)
  18. poprawne rozwiazanie napisalem ci pod moim postem
  19. 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.
  20. 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 }}
  21. 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.
  22. 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)
  23. 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
  24. Jak dla mnie opcja nr 1. Gra .. he Ultima Online :thumbsup: Na pytanie o klimat fantasy chyba nie musze odpowiadac ? ;)
  25. 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
×
×
  • Dodaj nową pozycję...