-
Postów
196 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Choosen
- Poprzednia
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- Dalej
-
Strona 8 z 9
-
1) Kompilator Języka Visual Basic jest do sciągnięcia ze strony projektu w dziale downloads http://msdn.microsoft.com/vbasic/downloads/default.aspx . Jest to oczywiscie usluga platna. Jesli szukasz darmowego kompilatora jezyka basic polecam stronę : http://www.compilers.net/Dir/Free/Compilers/Basic.htm. 2) Niestety nie wiem... 3) Co właściwie robi funkcja SendMessageByString ?
-
Jakiego kompilatora języka C++ uzywasz ? Rozumiem ze mowa o C++ ? WritePrivateProfileString Okresla wartosc wewnatrz pliku ini. Może być również uzyta do wpisywania wartosci numerycznych, o ile są one w formie napisu np. "1" jako liczba 1. Jesli plik ini do ktorego starasz sie odwolac nie istnieje, zostanie utworzony nowy plik o podanej nazwie. To samo tyczy się liczby lub sekcji która chcesz wpisac. Jeśli takowej nie ma zostanie dodana. Jeśli wystapi jakis blad funkcja zwraca 0,w przeciwnym wypadku 1. lpApplicationName Nagłowek pliku ini do którego wpisujesz wartosc lpKeyName Wartosc do wpisania lpString Napis do zapisania jako wartosc liczbowa lpFileName Nazwa pliku ini. GetPrivateProfileString(); Odwrotnie jak powyzej GetProfileString Zwraca wartosc zczytaną z danego wpisu z pliku ini lub pusty ciąg znakow jesli dany wpis nie istnieje. Plik inicjalizacyjny przydziela wartosci do zmiennych konfiguracyjnych, zwanych takze wpisami, takie wartosci muszaa byc ustalone podczas bootowania systemu lub startowania aplikacji. IniPath Pełna sciezka dostepu do pliku np: C:\boot.ini. Section Sekcja z pliku ini z ktorej chcesz czytac wartosc Entry Nazwa wartosci którą chcesz przeczytac. GetPrivateProfileSection Funkcja odzyskuje wszystkie wartosci I klawisze z okreslonej sekcji pliku ini. Windows 95/98/Me: Okreslona sekcja pliku nie moze przekraczac 32K.Windows NT/2000 lub pozniejsze: Okreslona sekcja nie ma zadnych ograniczen wielkosci. Funkcja wspoldziala tylko z aplikacjami kompatybilnymi z 16-bitowymi aplikacjami windows. lpAppName [wejscie] Wskaznik na sekcje pliku ini - ciag znakow lpReturnedString [wyjscie] Wskaznik na bufor pamieci ktory przechowuje nazwy kluczy oraz pary wartosci przypisane do danej sekcji. Bufor przechowuje jeden lub wiecej wpisow. Ostatni wpis zakonczony znakiem konca wpisu. nSize [wejscie ] Okresla wielkosc w znakach TCHAR, bufora wskazanego przez parametr lpReturnedString. Windows 95/98/Me: Maksymalny rozmiar bufora 32,767 znakow. lpFileName [wejscie] Wskaznik na ciag znakow ktory okresla nazwe pliku ini. Jeśli nazwa nie zawiera pelnej sciezki dostepu plik ini będzie szukany w katalogu windowsa. GetPrivateProfileInt Funkcja czyta wartosc calkowitą z dowolnego pliku *.ini. Parametry przekazane do funkcji okreslają które wartości oraz skąd mają być przeczytane. Jako sukces funkcja zwraca przeczytaną wartość. Jeśli wartość jaką określiłeś nie występuje w ciągu znaków, zostanie zwrócona wartość określona jako nDefault. lpApplicationName Nagłowek pliku ini z ktorego bedziesz czytal wartosc lpKeyName Wartosc do przeczytania nDefault Tak jak napisalem powyzej. To co ma się zwrocic jeśli wartosci nie będzie. ( wpisz taką ktorej na pewno nie ma w pliku ) lpFileName Nazwa pliku ini. I tak dalej... analogicznie ;) Pamiętaj jednak, ze wsparcie dla plikow ini dostarczone jest tylko w Windowsach ze wsteczną kompatybilnoscią. Zalecam rowniez używanie rejestru do przechowywania danych.
-
Nie... nie wytrzymam, tolerowalem to dosc dlugo, ale teraz to nawet ja zabiore głos w tej sprawie. BeWuO : post Modgara w żaden sposób nie łamie regulaminu. Nie udało się to do tej pory, nie znaczy, że nie uda się teraz. Ja również uważam ze to niemal niewykonalne, ale to nie powód żeby jęczeć i krytykować jak tylko pojawi się jakaś inicjatywa ! Jesteś niemiły ba... nawet męczący krytykując wszystko i wszystkich... O! :sp_ike: P.S. prosze nie kontynuować mojego wywodu. To nie czas i miejsce ;)
-
Szczerze mówiąc BeWuO nie rozumiem twojego podejścia do problemu :unsure: Jeśli wpiszesz Alarm[0]=15*room_speed; w begin step, to tak jakbys ustawił stoper na 15 sekund. Po co zmienna czas ? dev_diablo daj kod alarm[0]=15*room_speed; w create obiektu odpowiedzialnego za tworzenie bonusów i w alarm[0] wpisz kod xx[0] = 20; yy[0] = 120 // pozycja[0] xx to 20, yy to 120 xx[1] = 240; yy[1] = 140 // pozycja[1] xx to 240, yy to 140 xx[2] = 80; yy[2] = 400 // pozycja[2] xx to 80, yy to 400 xx[3] = 320; yy[3] = 380 // pozycja[3] xx to 320, yy to 380 xx[4] = 20; yy[4] = 20 // pozycja[4] xx to 20, yy to 20 i = floor(random(5)); instance_create(xx[i],yy[i],bonus); Zwracam uwagę na linijkę i = floor(random(5)); i daruj sobie komentarze bo nic nie wnoszą ;)
-
Linki z działu top ten dla artykułów nie działają poprawnie. To samo tyczy się podpisów pod newsami. Po kliknięciu na dowolne imie zostajemy przekierowani do Sadama.
-
O rany.. ale żeście zamieszali chlopaka :lol2: No ale jest w tym sporo jego winy bo jak zwyklo sie robic na tym forum rowniez i on nie potrafi dokladnie powiedziec o co mu chodzi. objekt.direction == bohater.direction <- z tym jest wiele nie tak.. po pierwsze operator == jest operatorem porownania a nie przypisania wiec zamiast == musisz tu wstawic = . Po drugie kod ten spowoduje ze przeciwnik bedzie szedl w tym samym ( a nie w twoim ) kierunku a przeciez nie o to chodzi. objekt.speed = +1 spowoduje ze bedzie szedl z predkoscią 1 objekt.speed += 1 spowoduje ze bedzie szedl coraz szybciej ( moze sie nawet zdazyc ze przeskoczy na gonioną postacią :) ) Ja bym polecał odpowiedz ranma_mana ale to jeszcze zalezy o co ci chodzi i jak wyglada plansza... ehh te wasze pytania.
-
Nie no chwila... bez przesady kilka godzin ? Warunki poczatkowe : 0 klatka animacji to skater jadący na desce. kilka kolejnych klatek to ten sam skater wykonujacy trick ( np 1-15 ) No i wystarczy zrobic tak... W create : { image_single=0; } Dla spacji: { alarm[0]=5; // czas po jakim zacznie wykonywac się animacja. Jesli odrazu po skoku to alarm[0]=1; image_single+=1; } alarm[0] { if image_single<15 // jesli nie jest to ostatnia klatka animacji { image_single+=1; // wyswietlamy kolejną alarm[0]=1; // i ustawiamy alarm na 1 zeby za chwile znow sprawdzac } else { image_single=0; // jesli byla ostatnia to znow zmieniamy na jadącego skatera } } kto mierzyl czas ? ;)
-
Tego się własnie obawiałem... Narazie ( przynajmniej na mojej maszynie ) gra chodzi płynnie więc może nie miec to większego znaczenia, ale zamiast funkcji draw ktora działa bardzo wolno ( a juz z wspolczynnikiem alfa bardzo bardzo wolno ) proponuje sprubowac z screen_gamma( r , g , b ) Mysle ze znacznie przyspieszy to gre.
-
A ja tam swoje zdanie podtrzymam. Fakt, gra ma jeszcze sporo błędów a grywalność nie powala... Do zrobienia jest jeszcze mnóstwo rzeczy, ale to co juz jest tez robi wrazenie. Jesli wytrwasz do konca zapowiada się niezly hit :thumbsup: Gratuluje umiejętności. Nie zajrzę w kod.. ale na pierwszy rzut oka nie jest źle B)
-
No to i ja nie pozostane prozny : http://wil3.com/jebnij_pingwina_z_baseballa.swf- znana i lubiana gierka flashowa http://www.narva.ee/~nedo/ - tanczący hipopotam :blink:
-
No i nie wiem co powiedzieć.. żadko się zdaża zeby ktoś robił na mnie takie wrażenie ( w pozytywnym znaczeniu tego słowa ) Pojawiasz się z nikąd i od ręki przentujesz projekt który ( przynajmniej graficznie ) bije na głowę wszystkie inne z tego forum. Ciężko mi powiedzieć cokolwiek o kodzie bo strona działa tragicznie :( Mam nadzieję, że po dłuższej chwili uda mi się zobaczyć to demo...
-
Właśnie nie byłem pewien czy jest sens dodawać newsa za każdym razem kiedy dojdzie coś nowego.. no ale skoro sam guru każe... :smile3: Rozbujać się nie da.. to tylko przykład :P
-
Dodałem dla Ciebie nowy przykład, który może okazać się pomocny.
-
A Skąd ten dziwny pomysł ? :blink: Step i Draw nalezy unikac kiedy to tylko mozliwe. Dlaczego ? W obu przypadkach kod wpisany w te miejsca wykonywany jest co cykl zegarowy procesora a czesto nie jest to konieczne.
-
W create skatera : { spacja=false; wznoszenie=false; opadanie=false; } w spacji skatera : { if !spacja { spacja=true; alarm[0]=21 wznoszenie=true; opadanie=false;} } w Step skatera : { if wznoszenie y-=1; if opadanie y+=1; } W kolizji skatera z ziemią { wznoszenie=false; opadanie=false; spacja=false; } w alarm[0] { wznoszenie=false; opadanie=true; } Kod z pamięci. Jesli bedą jakies bledy daj znac to poprawimy. Update: ale kod dziala idealnie. Wiem bo sam sprawdzilem :thumbsup: Sadam : Choosen poraz kolejny pokazał nam kto tu jest najlepszy :) Temat zamykam, jak kod działa aż tak Idealnie :)
-
No nie zupełnie... odpowiedz Ranma_mana jest pełna i łatwiej się tego zrobić nie da.. Ty nie powiedziales jak przyspieszyc tylko jak ustawić predkość początkową na szybszą niz była do tej pory. Wbrew pozorom to nie jest to samo.. speed+=1 zwieksza predkosc niezaleznie od tego jaka jest aktualna predkosc obiektu. Aby wpisac predkosc do klocka trzeba znac jej aktualną wartosc tak by wpisac wyzszą. Jest to często niewykonalne jesli predkosc zmienia sie w trakcie dzialania programu. Sadam : Lock :)
-
Ależ ja naprawdę wiem jak działa ta funkcja. Problem jest z Twoją until (!position_meeting(xx+32*i,yy+32*j,all)) Skoro w pozycji (xx+32*i,yy+32*j) stworzyles przed sekundą obiekt... to funkcja position meeting(xx+32*i,yy+32*j,all) zwróci TRUE natomiast funkcja !position_meeting(xx+32*i,yy+32*j,all) zwróci FALSE nakazując tym samym ponowne wykoannie pętli Moj skrypt moze nie dzialac dokladnie dlatego ze nie znam całosci programu. Trudno oczekiwac ze ktos znajdzie blad w skrypcie ktorego zmienne nie są objasnione a struktora programu ,w ktorym bedzie on zastosowany jest nieznana.
-
Przyjzyj sie dokladnie co napisales... xx=32;yy=32*3; // podejrzewam ze to szerokosc siatki i pozycja startowa repeat(2) // powtarzaj 2 razy zestaw instrukcji { do // zrob { i = round(random(28));j = round(random(23)) // wylosuj numer kratki if !position_meeting(xx+32*i,yy+32*j,all) // sprawdz czy pozycja jest wolna {instance_create(xx+32*i,yy+32*j,przeszkoda)} // jesli nie to zajmij pozycję } until (!position_meeting(xx+32*i,yy+32*j,all)) // rob to tak dlugo az pozycja bedzie wolna } Jesli pozycja była juz zajęta to w dane miejsce nic nie jest wstawiane.Jesli natomiast byla wolna, to wstawiamy tam obiekt czyniąc ją tym samym zajętą. Skrypt konczy się kiedy dana pozycja pozostaje wolna... czyli nigdy :blink: Sprubuj tak : xx=32;yy=32*3; repeat(2) { do { i = round(random(28));j = round(random(23)) if !position_meeting(xx+32*i,yy+32*j,all) {instance_create(xx+32*i,yy+32*j,dany_obiekt)} } until (position_meeting(xx+32*i,yy+32*j,dany_obiekt)) } Jesli na koncu skryptu sprawdzimy ze w danym miejscu jest obiekt jaki wstawiales, bedzie to oznaczac ze dana pozycja BYŁA a nie jest wolna i to własnie chciales sprawdzac pisząc ten skrypt. P.S. Zamiast dany_obiekt wpisz argument0 i wtedy obiekt jaki chcesz stworzyc bedziesz mogl podawac jako argument bez potrzeby ingerecji w kod.
-
Sprawdzaj kolizje zanim zaczniesz sie obracac...
-
Gierka fajna i przyjemna. Pomysł calkiem oryginalny a wykonanie tez niezłe.. no i ten czarnobialy klimat w stylu "pencil" :thumbsup:
-
Ehh... i gdzie tu sprawiedliwosc ? Jak nie bylo tak nie bylo... a jak zrobilem wlasne motion planning to Mark zaraz wbudowal to samo w game makera <_<
-
No.. calkiem niezla gierka. Chociaz... jakbym ją juz gdzies widzial.. :smile3: Tak czy inaczej moim zdaniem jest troche za malo amunicji no i czemu moj czolg ginie po zniszczeniu bazy przeciznika ? :crying:
-
Server Bazy Danych / DSN: localhost Ten wpis mowi o ile sie nie myle ze kazdy kto łączy sie z bazą danych ma jej szukac na wlasnym komputerze. Tak ma byc ? Jesli tak to tylko ty bedziesz mogl polaczyc sie ze swoją bazą danych i tylko jesli masz ją na swoim domowym komputerze ( a raczej komputerze z ktorego sie łączysz ) mysle ze tam powinienes wpisac adres serwera bazy danych a nie localhost. P.S. localhost to adres 127.0.0.1
-
No... tak. Kod zakladal ze przesuwasz siebie i skrzynke o jedną całą kratke.
-
No dokaldnie.. tylko zrob podloge ;-) Pozostaje dorobic animacje drzwi.. i to co opisalem powyżej.
- Poprzednia
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- Dalej
-
Strona 8 z 9