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

[SFML] Poruszanie obiektami.

Ostatnio zmodyfikowano 2012-04-17 00:21
Autor Wiadomość
Eruzione
Temat założony przez niniejszego użytkownika
[SFML] Poruszanie obiektami.
» 2012-04-15 17:56:16
Witam!

Chciałbym się dowiedzieć jak wygląda kwestia poruszania więcej niż jednym sprajtem. Chodzi mi mniej więcej o taką sytuacje: mam dwa sprajty i chciałbym raz poruszać jednym a raz drugim. Np. Kliknę LPM na Sprajt1, a następnie na jakiś obszar okienka i Sprajt1 się przemieści, podczas gry Sprajt2 zostanie na swoim miejscu. Następnie kliknę LPM na Sprajt2 i przemieszczę go za pomocą kliknięcia myszki na dany punkt.
Może mi ktoś podpowiedzieć jak można coś takiego uzyskać? Czy może lepiej przesiąść się na inna bibliotekę niż SFML, gdzie będzie łatwiej uzyskać taki efekt.
Jest mi to potrzebne do przemieszczania pionków na szachownicy.
P-54555
SeaMonster131
» 2012-04-15 19:32:46
Biblioteka nie ma nic do rzeczy. Masz klasę powiedzmy:
C/C++
class CKlasa
{
public:
   
    ...
    float x, y, w, h;
   
} obiekt[ 2 ];

bool aktywny = - 1;
No i teraz klikasz na któryś obiekt, i go przemieszczasz:
C/C++
for( int i = 0; i < 2; i++ )
if( klikniecie && mysz.x >= obiekt[ i ].x &&...)
     aktywny = i;

if( klikniecie na mapie )
{
    obiekt[ aktywny ].x = mysz.x;
    obiekt[ aktywny ].y = mysz.y;
}

To taki przykład.
P-54566
Eruzione
Temat założony przez niniejszego użytkownika
» 2012-04-15 21:17:51
SeaMonster131 nie za bardzo rozumiem o co chodzi w twoim przykładzie. Jeśli Ty lub ktoś inny może go bardziej opisać to będę wdzięczny.
Nie jestem też pewien czy do końca zrozumiałeś moje pytanie, ale to może moja wina gdyż mogłem niewłaściwe Cie nakierować podając nie do końca trafiony tytuł tematu lub ja źle zadałem pytanie. Nie wiem czy Sprit'y w bibliotece SFML są obiektami, a to własnie o sprit'y mi chodziło. Tzn. jak mając na ekranie wyświetlone dwa lub więcej sprit'ow "aktywować" jeden z nich i nim poruszać.

//EDIT: Jak poruszać sprajtem wiem, chodzi mi bardziej o "aktywacje"/jak wybrać jeden spośród kilku.
P-54589
kampar
» 2012-04-16 15:58:58
pobierasz pozycję myszy i w if'ach sprawdzasz czy mieści się w pozycjach jakiegoś sprajta
P-54633
waxx
» 2012-04-16 16:19:51
Zmienne i ify...?
Podstawy c++ :)
P-54637
SeaMonster131
» 2012-04-16 16:25:15
C/C++
class CKlasa
{
public:
   
    ...
    float x, y, w, h; // pozycja obrazka (x, y) oraz jego wymiary (w, h)
   
} obiekt[ 2 ];

To jest po prostu klasa Twoich obiektów, » Kurs C++Klasy (obiekty) lekcja

bool aktywny = - 1;
 to zmienna, przechowująca zaznaczony obiekt (obrazek) - jego "ID"


C/C++
for( int i = 0; i < 2; i++ )
if( klikniecie && mysz.x >= obiekt[ i ].x &&...) // porownujesz pozycje myszki i pozycje wszystkich obiektow (tych obrazkow), jezeli klikniesz myszka, a bedzie sie ona znajdowala na jakims obrazku, to przypiszesz tej zmiennej "ID" kliknietego obrazka
     aktywny = i;

if( klikniecie na mapie ) // klikasz na mapie
{
    // i tutaj po kliknieciu, zmieniasz pozycje aktywnego obrazka, na pozycje myszki
    obiekt[ aktywny ].x = mysz.x;
    obiekt[ aktywny ].y = mysz.y;
}
P-54639
Eruzione
Temat założony przez niniejszego użytkownika
» 2012-04-17 00:21:24
SeaMonster131, dzięki za dodanie komentarzy. Teraz już wszystko dokładnie rozumiem. Jeszcze raz dzięki za odpowiedz :)
P-54685
« 1 »
  Strona 1 z 1