Dexarz Napisano Październik 1, 2007 Zgłoś Share Napisano Październik 1, 2007 Otóż ostatnio zachciało mi się zrobić grę ..Nie jest on na żadnym Delphix'ie czy dirext'ie bo jeszcze wole potrenować samo delphi .. Zrobiłem już menu gry no ale mam kilka pytań ... Wstawiłem komponent RXGifAnimator (StickDef po zmianie nazwy) na formę i chciałbym żeby on jak kliknę na klawisz "do góry" to ,żeby komponent podskoczył i zrobił jakiś gif ..to mniej więcej chciałbym żeby to tak wyglądało : procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_right then begin StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'Right.gif') ; StickDef.Left := StickDef.Left + 10 Operat := 'Right' end else if key=vk_left then begin StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'Left.gif') ; StickDef.Left := StickDef.Left - 10 Operat := 'Left' end else If key_up then begin StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'Up.gif') ; //No i dalej chciałbym żeby był ten podskok komponentu w gore o np 100 Pixeli i powrot w pierwotne miejsce //Jeśli komponent już wrócił na miejsce przed skokiem to chciałbym żeby StickDef (Gif) zmieniał Gifa na : StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'Stand.gif') ; end else if key=vk_down then begin StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'Down.gif') ; //operacja która poczekała by aż Gif powyżej skończy sie odtwarzać (myślałem nad sleep ale on zatrzymuje cały program) StickDef.Image.LoadFromFile('sticks/' + Form1.NameStickEdit.Text + '/' + Form1.NameStickEdit.Text + 'DownConst.gif') ; //zmiana gifa Operat := 'Down' if key=vk_space then close ; end; Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 1, 2007 Zgłoś Share Napisano Październik 1, 2007 1.Formatowanie kodu + znacznik "[delphi]". :angry: 2.Zobacz artykuł o robieniu gry platformowej na stronie Unitu. .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Październik 1, 2007 Zgłoś Share Napisano Październik 1, 2007 No i zły dział. Poza tym, w Paintboksie można robić większe cuda niż jakimś GIFowym komponencie (bez obrazy Gifanonim ). Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Październik 1, 2007 Zgłoś Share Napisano Październik 1, 2007 Co do podskoku możesz śmiało zastosować rozwiązania, które przedstawił Spider w swoim arcie o podst. fizyki. Poza tym nie powinieneś ładować z dysku odpowiednich obrazków w momencie przyciśnięcia jakiegoś klawisza ponieważ jest to masakrycznie nie optymalne. Najpierw wczytujesz wszystko do pamięci potem tylko podmieniasz na odpowiednie. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 1, 2007 Zgłoś Share Napisano Październik 1, 2007 OT:Może lepiej przenieść temat do działu Delphi, co? .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 2, 2007 Autor Zgłoś Share Napisano Październik 2, 2007 Dobry pomysl na przeprowadzke do Dizlau Delphi ... Poza tym nie powinieneś ładować z dysku odpowiednich obrazków w momencie przyciśnięcia jakiegoś klawisza ponieważ jest to masakrycznie nie optymalne. Najpierw wczytujesz wszystko do pamięci potem tylko podmieniasz na odpowiednie. Dodam mozliwosc zmiany Ludzika wiec pliki musza sie zmieniac Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 2, 2007 Zgłoś Share Napisano Październik 2, 2007 Dodam mozliwosc zmiany Ludzika wiec pliki musza sie zmieniac Nie, nie! To nie ma nic do rzeczy. Najpierw ładujesz wszystkie zasoby do pamięci, a potem odpowiednio wyświetlasz. .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 2, 2007 Autor Zgłoś Share Napisano Październik 2, 2007 Wlasnie zainstalowalem komponenty DephiX .. Kiedy kompiluje wychodzi mi blad : [CYTATError] SA1.pas(62): Missing operator or semicolon ,a odwołuje sie do tego miejsca : CYTATOperat := 'Right' Co to za błąd ?? Nie, nie! smile.gif To nie ma nic do rzeczy. Najpierw ładujesz wszystkie zasoby do pamięci, a potem odpowiednio wyświetlasz. A jak sie to robi ?? Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Październik 2, 2007 Zgłoś Share Napisano Październik 2, 2007 W Delphi bez kompontentów TBitmap.Create? Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 2, 2007 Zgłoś Share Napisano Październik 2, 2007 Brakuje Ci średnika na końcu linijki. A tak na marginesie, to daruj sobie robienie gry, skoro nie potrafisz tak prostego komunikatu o błędzie zrozumieć. Nie piszę tego po to, żeby Cię zniechęcić, ale po prostu nie dasz sobie rady. Poczytaj trochę więcej tutoriali lub książek i wtedy dopiero zacznij bawić się w grę... Co do wczytywania zasobów do pamięci... Hmmm... Można to zrobić na wiele sposobów... Jeżeli chodzi Ci o przechowywanie obrazków, to możesz je trzymać w komponencie TImageList, albo wczytywać do listy (obiekt TList). Sposobów jest naprawdę dużo... .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 2, 2007 Autor Zgłoś Share Napisano Październik 2, 2007 Wiedzialem co oznacza ten komunikat i wlasnie sam naprawilem te problem ..po prostu zapomnialem przed dodac srednik ... To nie pierwszy moj program bo robilem juz wiele programow .. Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Październik 3, 2007 Zgłoś Share Napisano Październik 3, 2007 Wiedzialem co oznacza ten komunikat i wlasnie sam naprawilem te problem ..po prostu zapomnialem przed dodac srednik ... To nie pierwszy moj program bo robilem juz wiele programow .. Nom, ale niektórzy tutaj piszą programy, nie wszyscy robią Jak się nie chce Ci zastanawiać, wyszukiwać błędów itp. to nie ma sensu zakładać tematu. Przecież głupie błędy sam możesz wyłapać. Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 5, 2007 Autor Zgłoś Share Napisano Październik 5, 2007 Niedługo wstawię na swoją stronę (download ).Wersję Beta mojej pseudo gry :)Co będzie ona zawierać ? Poruszanie postacią (wszelkie skoki i chód) Grawitacja Możliwość zmieniania postaci, levelu lub nawet skina gry (prawdopodobnie) Ładowanie gry i zamykanie ... CYTAT ...wszelkie skoki ... Wstawiłem komponent Timer który po naciśnięciu do góry porusza komponentem w górę a potem w dół. Tylko mam pytanie .. Jak zrobić żeby integer pobierało z linijki określonego pliku ?? Zrobiłem to tak : CYTATStickDef.Top:=SL.Strings[12]; (sl to zmienna a stickdef to postać którą poruszamy (komponent)) Ale wychodzi mi błąd : [Error] SA1.pas(91): Incompatible types: 'Integer' and 'String' Co zrobić ?? Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 5, 2007 Zgłoś Share Napisano Październik 5, 2007 Nie wiem jak u innych, ale ja nie widzę kodu. Przez to nie wiem jak zrobiłeś, ale możesz użyć pliki ini, będzie łatwiej Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 5, 2007 Autor Zgłoś Share Napisano Październik 5, 2007 po prostu go nie dalem ,sprawdz teraz .. Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
KKKas Napisano Październik 5, 2007 Zgłoś Share Napisano Październik 5, 2007 łomatko. Użyj StrToInt(); Tylko spróbuj napisać: "Jak?????!?!?!?!?" ;-| ҉ Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 5, 2007 Autor Zgłoś Share Napisano Październik 5, 2007 Gdzie to mam "wepchnac" ?? Juz wiem : StickDef.Top:=StrToInt(SL.Strings[12]); Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Październik 5, 2007 Zgłoś Share Napisano Październik 5, 2007 Bez wiedzy co to StrToInt bierzesz się do pisania gry? Samobójstwo... Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 5, 2007 Zgłoś Share Napisano Październik 5, 2007 Może do "Śmiechowych tematów", co? .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 6, 2007 Autor Zgłoś Share Napisano Październik 6, 2007 Wiem co to StrToInt ale po prostu o tym zapomnialem String to Integer a można by dać inne np. InttoExd (Integer to Exdented czy jak sie to piszę) ,a póżniej odwrotnie to Exdented to Integer ? Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Październik 6, 2007 Zgłoś Share Napisano Październik 6, 2007 String to Integer a można by dać inne np. InttoExd (Integer to Exdented czy jak sie to piszę) ,a póżniej odwrotnie to Exdented to Integer ? Nie wiem jak inni ale ja kompletnie nie rozumiem toku twojego rozumowania. Masz 2 zmienne Int i String konwertujesz je sobie OK ale potem pytasz się czy nie lepiej zastosować Extended typ. Ext jest zmienno przecinkowy a ty potrzebujesz Stringa to jak to sobie wyobrażasz, chyba gdzieś zgubiłeś tok rozumowania albo ja kompletnie nie kapuje. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Październik 6, 2007 Autor Zgłoś Share Napisano Październik 6, 2007 Juz nie cchodzi mi o text ..zle napisalem ..po prostu zapytalem sie czy mozna takie dac .. Mam kalkulator no i chce miec funkcje potegowania ..ake w spinedit jest integer a funkcja power musi miac exdented ...tylko dla tego sie pytam Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Październik 6, 2007 Zgłoś Share Napisano Październik 6, 2007 Jeśli chcesz przypisać int-a do zmiennoprzecinkowego to nie trzeba konwersji, ale w drugą stronę to użyj Round lub Trunc Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Październik 6, 2007 Zgłoś Share Napisano Październik 6, 2007 Wiedzialem co oznacza ten komunikat i wlasnie sam naprawilem te problem ..po prostu zapomnialem przed dodac srednik ... To nie pierwszy moj program bo robilem juz wiele programow .. Stary zakladam ze masz 12 lat i problem z samoocena, poziom twoich pytan wybitnie zatrzecza cytatowi powyzej. Zadajesz tak elementarne pytania i tworzysz tak elementarne bledy ze sam sie dziwie ze ci odpisuje. Nie masz zielonego pojecia o tym co robisz a tylko wydaje ci sie ze umiesz programowac. Roumiem ze chcesz sie pochwalic swoimi osiagnieciami oraz ze chcesz pewnie wejsc do srodowiska programistow ale obecnie to sie blaznisz. Pytajac co to za komunikat (brak srednika), a pozniej mowiac ze wiesz co to znaczy, tylko zapomniales dodac srednika wychodzisz na Mega Lame. Rozumiem jakbys mial problem z niektorymi komunikatami w c++ ktore czasami znacza zupelnie co innego niz na pierwszy rzut oka widac, albo gdybys zrobil jakis wielki program i masz z nim problem. Ale kurde komunikaty w Delphi sa bardzo jednoznaczne a twoj program to roboty dla kogos z doswiadczeniem na kilkadziesiat minut wiec o co kaman ? Problem z konwersja stringa do inta ? Funkcja Power przyjmuje parametr Extendend wiec nie mozesz tam wstawic inta ? Czlowieku wez zanim napiszesz cos na forum zastanow sie co ty robisz. Wiem wiem internet jest fajny bo wejde sobie na forum i napisze i wszyscy mi pomoga a jek nie to ch*** z nich i pojde na inne forum. Pomysl o czyms takim, przychodzisz do nowej szkoly wchodzisz do nowej klasy wewnatrz jest 50 uczniow, sluchasz o czym gadaja i okazuje sie ze mowa o rozwiazywaniu rownan. Nagle wstajesz i mowisz kompletna bzdure wszyscy patrza na ciebie conajmniej zdziwieni, ktos ci zwraca uwage ze gadasz bzdury a ty na to opowiadasz: "tak wiem, tylko zapomnialem". To teraz uzyj swojej wyobrazni i zauwaz ze piszac na forum rowniez rozmawiasz z zywymi ludzmi, roznica jest taka ze ich nie widzisz i nie czujesz sie glupio robiac z siebie publicznie idiote.... Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Brainer Napisano Październik 6, 2007 Zgłoś Share Napisano Październik 6, 2007 Hehe! :lol: Ładnie go podsumowałeś, Toster! .: Brainer :. patrick.nusbaum@gmail.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.