alleg44.dll
Ostatnio zmodyfikowano 2010-12-10 18:40
pekfos |
» 2010-12-10 16:06:09 ciągnąć zmienne z obiektu a nie klasy |
|
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ć? |
|
szyx_yankez |
» 2010-12-10 16:12:16 @ SeaMonster131
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:
class NazwaKlasy { public: int zmienna; };
NazwaKlasy obiekt;
obiekt.zmienna = 10;
|
|
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; } |
|
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? |
|
pekfos |
» 2010-12-10 17:35:43 nie przekazuj przez wartość |
|
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] |
|
1 « 2 » |