Hirdetés
- Házimozi belépő szinten
- Vezeték nélküli fülhallgatók
- Hobby elektronika
- Nem indul és mi a baja a gépemnek topik
- Melyik tápegységet vegyem?
- Ezzel jobban keresel, mint az arannyal
- Kormányok / autós szimulátorok topikja
- ASUS notebook topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Szünetmentes tápegységek (UPS)
Ú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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Sony Playstation 5 1tb, Újszerű, Dobozával, 12 hónap garanciával
- Bomba ár! Lenovo IdeaPad V15-IIL: i5-10GEN I 8GB I 256-512SSD I 15,6" FHD I Cam I W11 I Garancia!
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
- Apple iPhone 13 256GB / Kártyafüggetlen / 12Hó Garancia / 100% Akku
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


