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

alleg44.dll

Ostatnio zmodyfikowano 2010-12-10 18:40
Autor Wiadomość
pekfos
» 2010-12-10 16:06:09
ciągnąć zmienne z obiektu a nie klasy
P-24994
skovv
Temat założony przez niniejszego użytkownika
» 2010-12-10 16:11:13
ok :D tylko jak? :P ten kod chcę umieścić Update( ) a C_GRACZ nie ma ustalonej nazwy :] Jak to zrobić?
P-24996
szyx_yankez
» 2010-12-10 16:12:16
@ SeaMonster131

C/C++
class Obiekt
{
public:
    int zmienna;
};

Obiekt costam;

costam.zmienna = 10;
? :)

#up: hahaha, prawie w tym samym czasie, i nazwa klasa i zmiennej taka sama :D
Ta, tyle, że ty nie wiesz co jest co.
Twój schemat powinien wyglądać tak:
C/C++
class NazwaKlasy // deklaracja klasy
{
public:
    int zmienna;
};

NazwaKlasy obiekt; // tworzenie obiektu statycznego

obiekt.zmienna = 10;

P-24997
skovv
Temat założony przez niniejszego użytkownika
» 2010-12-10 16:20:44
void Update( C_GRACZ Gracz )
            {
                if( Collision( Gracz.x, Gracz.y, Gracz.w, Gracz.h ) ) { Gracz.CollisionUp = true; Gracz.IsCollision = true; }
                //else if(...)
                else Gracz.IsCollision = false;
            }
P-24999
skovv
Temat założony przez niniejszego użytkownika
» 2010-12-10 17:01:19
void Update( C_GRACZ Gracz)
            {
                if( Collision( Gracz.x, Gracz.y, Gracz.w, Gracz.h ) ) Gracz.IsCollision = true;
                else Gracz.IsCollision = false;
            }
To nie działa. Ma ktoś może inny sposób?
P-25007
pekfos
» 2010-12-10 17:35:43
nie przekazuj przez wartość
P-25012
skovv
Temat założony przez niniejszego użytkownika
» 2010-12-10 18:40:50
Wyrzuciłem klasę EX_ACTOR i teraz mam normalnie:

class C_GRACZ
{
    public:
            BITMAP* Sprite;
            bool Collision;
            int x;
            int y;
            int w;
            int h;
       
            C_GRACZ( int X, int Y )
            {
                Sprite = bmp_Gracz;
                x = X;
                y = Y;
                w = Sprite->w;
                h = Sprite->h;
            }
            ~C_GRACZ( )
            {
                //...
            }
            void Update( )
            {
                if( !Collision )
                {
                    if( Key( KEY_UP ) ) y -= 1;
                    if( Key( KEY_DOWN ) ) y += 1;
                    if( Key( KEY_LEFT ) ) x -= 1;
                    if( Key( KEY_RIGHT ) ) x += 1;
                }
            }
            void Render( )
            {
                Ex.Graphic.Draw( Sprite, x, y, false );
            }
};

class C_MUR
{
    public:
            BITMAP* Sprite;
            int x;
            int y;
            int w;
            int h;
       
            C_MUR( int X, int Y )
            {
                Sprite = bmp_Murek;
                x = X;
                y = Y;
                w = Sprite->w;
                h = Sprite->h;
            }
            ~C_MUR( )
            {
                //...
            }
            void Update( )
            {
                if( Ex.Graphic.Collision( C_GRACZ::X, C_GRACZ::Y, C_GRACZ::W, C_GRACZ::h ) ) C_GRACZ::Collision = true;
                else C_GRACZ::Collision = false;
            }
            void Render( )
            {
                Ex.Graphic.Draw( Sprite, x, y, false );
            }
};
Niby powinno działać a mam błędy tego typu:
[code]
125 C:\Documents and Settings\Skovv\Pulpit\ExTest\main.cpp object missing in reference to `C_GRACZ::x'
181 C:\Documents and Settings\Skovv\Pulpit\ExTest\main.cpp from this location[/code]
P-25014
1 « 2 »
Poprzednia strona Strona 2 z 2