[SFML] Strzał, pętle oraz punkty
Ostatnio zmodyfikowano 2014-08-01 14:56
Avenon Temat założony przez niniejszego użytkownika |
[SFML] Strzał, pętle oraz punkty » 2014-08-01 11:19:48 Mam dwa rózne pytania : 1. Czy jest możliwość zrobienia bez użycia funkcji żeby po wcisnieciu spacji if( sf::Keyboard::isKeyPressed( sf::Keyboard::Space ) ) { }
Wylatywał pocisk który nie przestaje leciec dopóki nie zderzy się z wrogiem bądz końcem planszy? Domyślam się że chodzi o pętle ale za cholere nie mam pomysłu jak ich użyc w tym zagadnieniu. Zderzeniem z plansza i wrogiem sie zajme, chodzi mi tylko o to jak zrobić aby pocisk wylatywał po wciesnieciu spacji i nadal leciał po puszczeniu jej. 2.Czy jest możliwość prostego zrobienia napisu z którym będzie można operować? Chodzi mi o to że jeśli nasz pocisk zderzy się z wrogiem to punkty++; Nie mam pomysłu jak tego dokonać a sposoby na to w innych grach są bardzo pogmatwane -.-.. z góry dzieki za pomoc, za pomoc nie uznaje wklejenia strony sfmla bądz podania jednej komendy :) |
|
Glazus |
» 2014-08-01 12:11:20 Domyślam się że chodzi o pętle ale za cholere nie mam pomysłu jak ich użyc w tym zagadnieniu. |
Stwórz obiekt pocisk. Nie ma on się poruszać w oddzielnej pętli, a w pętli głównej. Aktualizuj położenie pocisku w każdej kolejnej rysowanej klatce. A w momencie kolizji/opuszczenia ekranu obiekt pocisk usuwaj. 2.Czy jest możliwość prostego zrobienia napisu z którym będzie można operować? Chodzi mi o to że jeśli nasz pocisk zderzy się z wrogiem to punkty++; Nie mam pomysłu jak tego dokonać a sposoby na to w innych grach są bardzo pogmatwane -.-.. |
hm? Tutaj zwykłe sf::Text wystarczy. Z czym konkretnie masz problem? |
|
Avenon Temat założony przez niniejszego użytkownika |
» 2014-08-01 12:25:12 1. A jaki jest sf:: do klatek? i tak dzieki za dobry pomysł ale tak sie zastanawiam czy nie będzie problemu z puszczeniem pocisku z innego połozenia ludzika w momencie gdy poprzedni pocisk jeszcze nie wyleciał za plansze...może będe musiał stworzyć 2 sprity pocisk i pocisk 1 i będą mogły być wystrzelone tylko dwa na raz a gdy pierwszy zniknie to bedzie mozna go juz wysłać drugi raz.
2.Chce aby gdy obiekt pocisk i obiekt potwor zderza sie to napis "Ilosc potworow ktore sie pojawia = 100" zmienił sie na "Ilosc... = 99" |
|
oputyk |
» 2014-08-01 12:34:58 |
|
Glazus |
» 2014-08-01 12:36:49 1. Użyj np. std::vector . może będe musiał stworzyć 2 sprity pocisk i pocisk 1 i będą mogły być wystrzelone tylko dwa na raz a gdy pierwszy zniknie to bedzie mozna go juz wysłać drugi raz. |
Jeden sprajt wystarczy. Zakładając, że skorzystasz z porady z std::vector to by wyświetlić pociski, wystarczy że zrobisz coś takiego: class Pocisk { };
vector < Pocisk > pociski; sf::Sprite pociskSprite;
for( int i = 0; i < pociski.size(); i++ ) { pociskSprite.setPosition( pociski[ i ].getX(), pociski[ i ].getY() ); Window.draw( pociskSprite ); } Jest to oczywiście jedna z wielu możliwości rozwiązania tego problemu. I prawdopodobnie nie najlepsza (a nawet nie "jedna z lepszych"). |
|
Avenon Temat założony przez niniejszego użytkownika |
» 2014-08-01 12:44:51 Dzieki za pomysły... czeka mnie teraz dużo kombinowania ponieważ ani troche nie ogarniam tego całego class czyli programowania obiektowego...nie da sie obejsc bez tego? |
|
oputyk |
» 2014-08-01 12:47:37 ani troche nie ogarniam tego całego class czyli programowania obiektowego...nie da sie obejsc bez tego? |
Proponowałbym Ci najpierw nauczyć się podstaw c++ i dopiero wrócić do sfml'a. |
|
pekfos |
» 2014-08-01 14:12:52 |
|
« 1 » 2 |