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

sfml

Ostatnio zmodyfikowano 2012-12-17 08:36
Autor Wiadomość
Jurek
Temat założony przez niniejszego użytkownika
sfml
» 2012-12-16 00:21:23
mam kod podzieliem go na pliki
w pliku glownym wywoluje funkcje a winnym pliku tworze funkcje aby ludek chodzil i nie chodzi nie wyskakuje blad
jak skopiuje plik w ktorym jest funkcja do glownego to ludek chodzi dobrze
co robie zle?
jakies pomysly? Ludek reaguje na polecenia ale nie chodzi chyba ze skopiuje zawartosc funkcji  do glownego pliku int main
P-71144
SeaMonster131
» 2012-12-16 11:50:59
Pokaż kod to pomożemy.
P-71167
Jurek
Temat założony przez niniejszego użytkownika
» 2012-12-16 12:07:44
Plik chodzenia Walk.cpp

C/C++
#include<sfml/system.hpp>
#include<sfml/window.hpp>
#include<sfml/graphics.hpp>

void Walk( sf::RenderWindow & Okno, sf::Sprite & Hero, sf::Vector2f & HeroPosition, sf::Vector2f & GoTo )
{
    HeroPosition = Hero.GetPosition();
    if( HeroPosition.x > GoTo.x )
    {
        if( HeroPosition.y == GoTo.y )
        {
            Hero.Move( - 1, 0 );
        }
        if( HeroPosition.y > GoTo.y )
        {
            Hero.Move( - 1, - 1 );
        }
        if( HeroPosition.y < GoTo.y )
        {
            Hero.Move( - 1, + 1 );
        }
    }
    if( HeroPosition.x < GoTo.x )
    {
        if( HeroPosition.y == GoTo.y )
        {
            Hero.Move( + 1, 0 );
        }
        if( HeroPosition.y > GoTo.y )
        {
            Hero.Move( + 1, - 1 );
        }
        if( HeroPosition.y < GoTo.y )
        {
            Hero.Move( + 1, + 1 );
        }
    }
    if( HeroPosition.x == GoTo.x )
    {
        if( HeroPosition.y > GoTo.y )
        {
            Hero.Move( 0, - 1 );
        }
        if( HeroPosition.y < GoTo.y )
        {
            Hero.Move( 0, + 1 );
        }
        if( HeroPosition.y == GoTo.y )
        {
            Hero.Move( 0, 0 );
        }
    }
}

Plik Hero.cpp

C/C++
#include<sfml/system.hpp>
#include<sfml/window.hpp>
#include<sfml/graphics.hpp>
#include "IsHSelected.cpp"
#include "Walk.cpp"

void HHero( sf::RenderWindow & Okno, sf::Vector2f & HeroPosition, sf::Vector2f & MousePosition, bool & MouseLeft, int & IsHeroSelected, bool & MouseRight, sf::Vector2f & GoTo )
{
   
    sf::Image Hero1, Hero1P;
    Hero1.LoadFromFile( "Hero.png" );
    Hero1P.LoadFromFile( "HeroP.png" );
    sf::Sprite Hero;
   
    Hero.SetCenter( Hero1.GetWidth() / 2, Hero1.GetHeight() / 2 );
    Hero.SetPosition( Hero1.GetWidth() / 2, Hero1.GetHeight() / 2 );
   
    if( GoTo.x == 0 and GoTo.y == 0 )
    {
        Hero.SetPosition( HeroPosition );
    }
    if( GoTo.x != 0 and GoTo.y != 0 )
    {
        Walk( Okno, Hero, HeroPosition, GoTo );
    }
    if( IsHeroSelected == 0 )
    {
        Hero.SetImage( Hero1 );
    }
    if( IsHeroSelected == 1 )
    {
        Hero.SetImage( Hero1P );
    }
    IsHSelected( Okno, MousePosition, Hero, Hero1, Hero1P, MouseLeft, IsHeroSelected );
    if( IsHeroSelected == 1 && MouseRight == 1 )
    {
        GoTo.x = MousePosition.x;
        GoTo.y = MousePosition.y;
    }
   
    Okno.Draw( Hero );
}
Plik glowny main
C/C++
#include<sfml/system.hpp>
#include<sfml/window.hpp>
#include<sfml/graphics.hpp>

#include "Mouse.cpp"
#include "Kajko.cpp"


#include <iostream>

using namespace std;

int main()
{
    int IsHeroSelected = 0;
    sf::Vector2f GoTo( 0, 0 );
   
    sf::Vector2f MousePosition, BasicPositionHero1( 100, 100 );
    bool MouseLeft = 0, MouseRight = 0;
   
    int Chapter = 0, Mission = 1, Map = 1;
   
    sf::Event Koniec;
    sf::RenderWindow Okno( sf::VideoMode( 1024, 768, 32 ), "SFML Graphics" );
    Okno.SetFramerateLimit( 60 );
    while( Okno.IsOpened() )
    {
       
        while( Okno.GetEvent( Koniec ) )
        {
            if( Koniec.Type == sf::Event::KeyPressed && Koniec.Key.Code == sf::Key::F1 )
                 Okno.Close();
           
        }
       
        MouseF( Okno, MousePosition, MouseLeft, MouseRight );
        Okno.Clear();
        HHero( Okno, BasicPositionHero1, MousePosition, MouseLeft, IsHeroSelected, MouseRight, GoTo );
       
        Okno.Display();
    }
    return 0;
}

Jak skopiuje zawartosc pliku hero i walk do main to wszystko dziala, a jak proboje zmusic ludzika do chodzenia wywolujac funkcje to nie chodzi reaguje na klikniecie myszki ale nie chodzi troszke sie przesuwa tylko moge go zaznaczac odznaczac ale nie chodzi
P-71170
Jurek
Temat założony przez niniejszego użytkownika
Inne pliki
» 2012-12-16 12:25:09
mam jescse dwa pliki mouse sprawdza polozenie myszy i czy wcisniete sa przyciski myszy, pli is selected sprawdza polozenie myszy wzgledem bohatera i czy wcisniety jest lewy przycisk IsSelected sluzy do zaznaczania
P-71171
hincu
» 2012-12-16 12:59:38
przeczytales caly kurs cpp? jesli nie to wroc i zapoznaj sie z calym, zapoznaj sie z klasami/strukturami, bo te twoje pisanie funkcji w osobnych plikach nie ma ani ladu ani skladu

@edit, nastepnym razem edytuj post a nie robisz bezsensowny spam
P-71174
SeaMonster131
» 2012-12-16 14:13:58
C/C++
if( GoTo.x == 0 and GoTo.y == 0 )
{
    Hero.SetPosition( HeroPosition );
}
if( GoTo.x != 0 and GoTo.y != 0 )
{
    Walk( Okno, Hero, HeroPosition, GoTo );
}

and
? Raczej chodziło Ci o
&&
.
P-71181
Jurek
Temat założony przez niniejszego użytkownika
» 2012-12-16 14:36:24
Tak chodzilo mi o &&
W jednej ksiazce bylo napisane ze zamiast && uzywac and
a zamiast  || mozna uzyc or
zamienilem i wciaz nie dziala
Gdzies mam blad nie wiem gdzie
P-71182
Jurek
Temat założony przez niniejszego użytkownika
» 2012-12-16 14:40:35
Nie umiem robic obiektow w sfml na razie, umiem je troche robic w c++ tylko  najpierw tworzac klase class a potem dodajac obiekty
Chcialem te pliki walk, mouse,  ishselected uzywac dla innych postaci tez aby kod byl krotki i dzialal w miare sprawnie
w main chcialem tylko wywolywac funkcie
P-71183
« 1 » 2
  Strona 1 z 2 Następna strona