Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Gurulunk, WAZE?!
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Parci: Milyen mosógépet vegyek?
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
Tomi_78
aktív tag
Sziasztok!
Napok óta rágódom egy C++-os programrészleten, nevezetesen hogy van egy alak nevű osztály, aminek vannak egy tömbben tárolt alképei, és ezeket az alképeket kellene váltogatnia szabályos időközönként. De sajnos az alképek váltogatása valamiért nem működik. Talán már az alképek beolvasását és eltárolását sem jól oldottam meg? Valaki tud segíteni?
Íme a kód:#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
class egyalak
{
public:
egyalak(int px, int py, Graphics::TBitmap* kep)
{ x=px; y=py; kepe=kep;}
int x;
int y;
Graphics::TBitmap* kepe;
char alkepvaltoido;
char aktalkep;
char alkepdb;
};
Graphics::TBitmap *AlakokKepe = new Graphics::TBitmap;
egyalak *alakok[5];
TTimer *alakmozgato;
Graphics::TBitmap* kepei[4];
void __fastcall TForm1::alakmozgatas(TObject *Sender)
{
int i;
for (i=0; i<5; i++)
{
if (alakok[i]->alkepvaltoido>0)
{
alakok[i]->alkepvaltoido-=1;
}
else
{
if (alakok[i]->aktalkep+1<alakok[i]->alkepdb)
{
alakok[i]->aktalkep+=1;
}
else
{
alakok[i]->aktalkep=0;
}
if (alakok[i]->x+(AlakokKepe->Width)<Form1->Width)
{
alakok[i]->x+=8;
}
else
{
alakok[i]->x=-64;
alakok[i]->y=random(Form1->Height-64);
}
alakok[i]->alkepvaltoido=5;
}
alakok[i]->kepe=kepei[alakok[i]->aktalkep];
}
Invalidate();
}
//Ezeket kéne váltogatnia, ahogy lépked az alak:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AlakokKepe->LoadFromFile("alak\\alak_all.bmp");
kepei[0] = AlakokKepe;
kepei[2] = AlakokKepe;
AlakokKepe->LoadFromFile("alak\\alak_lep1.bmp");
kepei[1] = AlakokKepe;
AlakokKepe->LoadFromFile("alak\\alak_lep2.bmp");
kepei[3] = AlakokKepe;
int i;
for (i=0; i<5; i++)
{
alakok[i]=new egyalak(4,i*AlakokKepe->Height+10,kepei[0]);
alakok[i]->alkepvaltoido=5;
alakok[i]->aktalkep=0;
alakok[i]->alkepdb=3;
}
alakmozgato=new TTimer(this);
alakmozgato->Interval=50;
alakmozgato->Enabled=true;
alakmozgato->OnTimer=alakmozgatas;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Kirajzol(TObject *Sender)
{
int i;
for (i=0; i<5; i++)
{
Canvas->Draw(alakok[i]->x,alakok[i]->y,alakok[i]->kepe);
}
}
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LENOVO ThinkPad 13 - i7-7500U, 8GB RAM, 256GB SSD, új akku, számla, 6 hó gar
- Lenovo T495 Ryzen 5 pro 3500U, 16GB RAM, 512GB SSD, jó akku, újszerű állapot, számla, garancia
- Gamer PC! i9-9900K / RTX 3060 Ti / Z390 / 16GB DDR4 / 500GB SSD / 850w!
- Honor Magic V2 512GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Sapphire Pulse RX 6800 16GB videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
