Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Bloodian

Strony: 1 2 3 [4]
46
Inne / [Directx9] Biblioteki pomocnicze.
« dnia: Maj 13, 2009, 20:57:29 »
A więc, w sumie Directxa dopiero zaczynam, znaczy się coś tam robię od 1-2 miesięcy, ale strasznie zniechęca mnie składnia.

Są może jakieś biblioteki pomocnicze które od razu zinicjalizują mi okno/3d albo błyskawicznie ustawią kamerę, mesha czy prymitywa ?

47
Szkółka / Odp: [Directx 9, c++] Kolizje + parę pytanek
« dnia: Marzec 25, 2009, 21:57:57 »
W shadery się jeszcze nie chcę wkopywać.

Mapa jest niewielka, na początku planuje wioskę z paroma domkami i palisadką ;]

Cytuj
Jeśli chcesz zaszaleć, to i tak będziesz potrzebował jakiegoś podziału przestrzeni, a to ci uprości sprawę - wytniesz dużą część geometrii na podstawie kolizji frustuma z prostokątami. Potem możesz już polecieć kolizje tri-sfera albo nawet tri - tri na tym co zostało i powinno dać radę. Smiley

Nie mam o tym zielonego pojęcia, dopiero zacząłem swoją naukę w Directx.

Mówisz tutaj o nadaniu meshowi 'klatki' która umożliwiła by sprawdzenie czy obiekt zderza się z klatką innego obiektu ?



48
Szkółka / [Directx 9, c++] Kolizje + parę pytanek
« dnia: Marzec 25, 2009, 20:54:05 »
Zabieram się do drugiej gry, poważniejszego projektu, ale zanim zacznę pisać, muszę to jakoś zaprojektować i znaleźć sposoby na jej napisanie :)

Pewnie jest parę dobrych tutków na temat kolizji, ale ja jestem początkujący i piszę prostą grę, nie chce się na razie zagłębiać w nic bardziej skomplikowanego.
A więc robię grę RPG, z założenia. Perspektywa 2d z góry, świat 3d. Zamierzam wrzucić od razu gotową mapę z 3dsmaxa albo generatora mapek (np. Freeworld3D ), chyba że to zły pomysł, sami powiedzcie.

A więc jaką polecacie metodę, aby wykryć czy mój dzielny bohater idzie w ścianę/drzewo i czy ma się zatrzymać.
Myślałem o czymś takim jak 'od x1 do x2 na linii y prędkość bohatera = 0' ale z tym jest kupa roboty. Może można by było podzielić świat na kwadraty, i na poszczególnych kwadratach poblokować możliwośc poruszania się w kierunku n, ale jak to zrobić ?

I czy mając załadowanego mesha, mogę poruszać nim inaczej niż matrycą zmiany świata ?
W przypadku wierzchołków, poprostu pomnożyłbym je przez inną tablicę.


49
Szkółka / Odp: Pomóżcie pokazać BMP lamie :)) (SDL)
« dnia: Styczeń 24, 2009, 18:20:39 »
Ups. Nie chciałem na rapida, ale widzę że coś się FTP republiki dupczy ;]

http://rapidshare.com/files/188773511/1a.rar.html

~220kb


Zainicjowałem screen w headsie, a raczej jego prototyp.

edit;

Możliwe też że coś pomieszałem z konwertowaniem stringów na chary* bo nie mam o tym pojęcia (przy pomocy c_str() )

EDIT:

Sukces ! ;)) Oczywiście, nie był to żaden błąd logiczny czy wyjątkowy. Był to błąd spowodowany moim głupim łbem, zresztą pewnie tak jak większośc noobowskich kodów :)
w konstruktorze parametr MapName próbuje przypisać do m_MapName w taki sposób MapName = m_MapName  :)) Co oczywiście sukcesem skończyć się nie mogło ;D

Dzięki za odpowiedzi ;]

50
Szkółka / Odp: Pomóżcie pokazać BMP lamie :)) (SDL)
« dnia: Styczeń 24, 2009, 18:07:29 »
Ok, spróbuję ;] Dzięki

51
Szkółka / Pomóżcie pokazać BMP lamie :)) (SDL)
« dnia: Styczeń 24, 2009, 18:04:38 »
Jestem tak początkujący że nawet nie wiem w jaki sposób wam podać mój kod źródłowy, dlatego nie dziwię się że w mojej klasie która ma konwertować bitmapę i pokazywać ją do okienka, nie działa :)

www.mygamesbloodian.republika.pl/1a.rar  (edit: nie działa)    Burdel, sodoma i gomora, ale kodu jest mało także powinno być czytelne

Sądze że powodem dla którego nic nie chce się wyświetlić to dlatego że zmienna typu std::string, m_MapName nie zawiera wartośći "background1.bmp" którą powinna.
Dlatego też funkcja SDL_DisplayFormat() nie chce działać, wyskakuje jakiś krytyczny błąd, (zakryłem ją bo bitmapa i tak jest 32 bitowa).

To nie moje lenistwo. Uwierzcie, gapię się w ten kod i nie mogę się zorientować co jest nie tak. Poprostu brakuje mi elementarnych podstaw, to jest szczerze mówiąc jeden z moich pierwszych kodów oprócz różnych kalkulatorów od Xiona w konsoli.

PS.
Jak sprawdzić w SDLu co kryje w sobie zmienna ? W konsolach używałem couta... a tutaj ??

EDIT:


http://rapidshare.com/files/188773511/1a.rar.html

52
Szkółka / Odp: Zamieszanie z wskaźnikami. [SDL]
« dnia: Styczeń 24, 2009, 01:30:07 »
Dzięki wielkie !

A 5 karmy dostałem bo pisałem trochę w hyde-parku.

53
Szkółka / Zamieszanie z wskaźnikami. [SDL]
« dnia: Styczeń 24, 2009, 00:55:09 »
Lamerskie, z lamerskich pytań.
http://lazyfoo.net/SDL_tutorials/lesson02/index.php

funkcja:
SDL_Surface *load_image( std::string filename )
{
    //Temporary storage for the image that's loaded
    SDL_Surface* loadedImage = NULL;
   
    //The optimized image that will be used
    SDL_Surface* optimizedImage = NULL;
 
//Load the image
    loadedImage = SDL_LoadBMP( filename.c_str() );
   //If nothing went wrong in loading the image
    if( loadedImage != NULL )
    {
        //Create an optimized image
        optimizedImage = SDL_DisplayFormat( loadedImage );
       
        //Free the old image
        SDL_FreeSurface( loadedImage );
    }
 //Return the optimized image
    return optimizedImage;
}
zwraca SDL_Surface * SDL_DisplayFormat( Funkcja SDL_LoadBMP );

a więc ładuje bitmapę w SDL_Surface najpierw konwertując ją do 32 bitów.

w następnej funkcji:

void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
    //Make a temporary rectangle to hold the offsets
    SDL_Rect offset;
   
    //Give the offsets to the rectangle
    offset.x = x;
    offset.y = y;

    //Blit the surface
    SDL_BlitSurface( source, NULL, destination, &offset );
}

Problem tutaj widzę w parametrach funkcji.

jako parametr  SDL_Surface* source parę linijek dalej podam zmienną message której wartość to load_image( "hello_world.bmp" );
a więc zwrotną funkcji load_image która jak wcześniej napisałem sama w sobie jest wskaźnikiem na tą samą funkcję SDL_Surface.

aaa więc jak wstawimy "SDL_Surface * SDL_DisplayFormat( Funkcja SDL_LoadBMP );" w miejsce source to będziemy mieć SDL_Surface* SDL_Surface * SDL_DisplayFormat( Funkcja SDL_LoadBMP ); ! Wskaźnik na wskaźnik (??) .

Nie potrafię tego pojąć. Co się dzieje ? Kompilator jakoś sobie z tym radzi ? Nie ma tu błędu ? Może to ja jakoś opacznie myślę (jestem świeżo początkujący)

Strony: 1 2 3 [4]