Skocz do zawartości

Choosen

Użytkownicy
  • Postów

    196
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane 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. 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

  3. 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 :-)

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

  5. 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 :)

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

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

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

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

×
×
  • Dodaj nową pozycję...