Jurek Temat założony przez niniejszego użytkownika |
» 2012-12-16 12:07:44 Plik chodzenia Walk.cpp #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 #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 #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 |
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 |
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 |