Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[sfml] Zmiana poziomu

Ostatnio zmodyfikowano 2014-12-26 14:38
Autor Wiadomość
Acarin1995
Temat założony przez niniejszego użytkownika
[sfml] Zmiana poziomu
» 2014-12-23 13:01:27
Witam mam pytanie jak zmienić poziom gry czyli np po najściu na dany kafelek np. jaskinia zmieniła się mapa na inną tak by sterowanie i wszystko działało normalnie mi niestety po kroku zmienia się mapa próbowałem z pętlą i też nic to nie dało. Apropo mapy rysują mi się obrócone o 90 stopni gdy jakiś klocek powinien być na górze to jest z boku.

C/C++
//main.cpp
#include <SFML/Graphics.hpp>
#include "Postac.hpp"
#include "Swiat.hpp"
int main()
{
    sf::RenderWindow oknoAplikacji( sf::VideoMode( 800, 600 ), "Nevermore" );
    Postac postac;
    Swiat swiat;
    postac.wczytajObrazek();
    swiat.wczytajkafelki();
    while( oknoAplikacji.isOpen() )
    {
       
        sf::Event zdarzenie;
        while( oknoAplikacji.pollEvent( zdarzenie ) )
        {
            postac.sterowanie( zdarzenie );
            if( zdarzenie.type == sf::Event::Closed )
                 oknoAplikacji.close();
           
        }
        oknoAplikacji.clear( sf::Color::White );
        swiat.rysujMapeGlowna( oknoAplikacji );
        oknoAplikacji.draw( postac );
        if( swiat.mapaGlowna[ postac.px ][ postac.py ] == 6 )
        {
            swiat.rysujjaskinia( oknoAplikacji );
            oknoAplikacji.draw( postac );
        }
        oknoAplikacji.display();
       
    }
    return 0;
}
P-123270
NopeDotAvi
» 2014-12-23 14:43:00
A) Co to jest za sposób w ogóle?
http://www.sfml-dev.org/tutorials/2.0/graphics-vertex-array.php
Zescrolluj to znajdziesz coś takiego jak: "Example TileMap", z tym się zapoznaj.

B) U Ciebie co wywołanie funkcji
rysujMapeGlowna
 jest deklarowana na nowo cała tablica, jest to bardzo niepotrzebne.
C) Gdy już będziesz miał mape z punktu A) to wtedy się zgłoś najlepiej, bo teraz to nie ma co pisać, poza tym pokaż następnym razem tylko niezbędne minimum.
P-123274
Gabes
» 2014-12-23 16:12:44
Tak szybciej zrozumiesz błąd obrócenia o 90 stopni.
C/C++
int mapaGlowna[ 6 ][ 8 ] =
{
    { 0, 1, 0, 1, 1, 0, 0, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0 }
};

...

for( int y = 0; y < 6; y++ )
{
    for( int x = 0; x < 8; x++ )
    {
        if( mapaGlowna[ y ][ x ] == 0 )
   
P-123277
Acarin1995
Temat założony przez niniejszego użytkownika
» 2014-12-26 14:38:47
Dzięki jeden problem mniej. A jak zmienić mape tak jak np. w Margonem lub coś? próbowałem:
C/C++
if( //koordy)
{
}
Ale po ruchu mapa wracała na poprzednią. A jak próbowałem wstawić pętle w ifie wogóle nic nie działało.
P-123353
« 1 »
  Strona 1 z 1