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

[SFML] Strzał, pętle oraz punkty

Ostatnio zmodyfikowano 2014-08-01 14:56
Autor Wiadomość
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
C/C++
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 :)
P-114830
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?
P-114833
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"
P-114834
oputyk
» 2014-08-01 12:34:58
Chce aby gdy obiekt pocisk i obiekt potwor zderza sie to napis "Ilosc potworow ktore sie pojawia = 100" zmienił sie na "Ilosc... = 99"
Nie widzę problemu:
Liczba na string'a:
std::to_string(arg)
Uderzenie:
Box2D
lub
Kolizje mniej dokładne,
Kolizje dokładne.
P-114835
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:
C/C++
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").
P-114836
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?
P-114837
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.
P-114838
pekfos
» 2014-08-01 14:12:52
P-114859
« 1 » 2
  Strona 1 z 2 Następna strona