Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.01.12
Prihlásený: 05.01.12
Príspevky: 1
Témy: 1
Príspevok NapísalOffline : 05.01.2012 19:32

zdravim,
dostal som za ulohu spravit projekt, s ktorym mam mensie problemy:

Vytvorte program zobrazujúci padajúce červené bodky. Nová bodka sa vytvára kliknutím do kresliacej plochy a jej počiatočný polomer je 6. Ak klikneme na už existujúcu bodku, jej polomer sa zväčší o 2. Každých 200 milisekúnd sa všetky bodky posunú smerom nadol o 4 pixely. Ak pri páde nadol vyjde bodka z kresliacej plochy, objaví sa v hornej časti kresliacej plochy.
Upravte program tak, aby pri zväčšení za istú hraničnú veľkosť bodka zmizla.

A teraz moje otazky: viem, ze tam treba pouzit udalost on mouse down ale ako si mam uchovat hodnoty x,y ? treba pole alebo ako?
a este ako mam urobit to, aby sa polomer zvacsil o 2. napada ma len prikaz if Pixels[x,y]=clRed ale to sa mi zda prilis zlozite a nerobi to presne to, co by malo, lebo ked su dve gulicky cez seba a kliknem na hociktoru z nich, zvacsia sa obidve.
za kazdu radu vopred dakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
padajuce gulicky

Registrovaný: 11.01.09
Prihlásený: 20.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 05.01.2012 20:25

Poziciu si uchovas jednoducho - staci gulicky reprezentovat ako instancie objektu, ktore budu mat poziciu ako svoj datovy clen. Ukazka:
Kód:
TGulicka = class
private
    x, y: integer;    // koordinaty
    procedure SetX( newX: integer );
    procedure SetY( newY: integer );
    precedure Redraw();
public
    constructor Create( x, y: integer );
    property Left: integer read x write SetX;
    property Top: integer read y write SetY;
end;


( konstruktor si uz napis sam, taktiez metody SetX a SetY, tam len nastavis premenne x a y na newX a newY ). Gulicky budes jednoducho vytvarat volanim konstruktora triedy TGulicka a zmenu pozicie cez jej vlastnost Left a Top. Ukazka:
Kód:
var
  gulicka1, gulicka2, gulicka3: TGulicka;     // neviem, kolko ich mas mat, ak viac, jednoducho pouzi pole

Volanie konstrutkora:
Kód:
gulicka1 := TGulicka.Create( 100, 100 );

Funkcia redraw bude prekreslovat gulicku na nove pozicie. Tu si tiez dopln sam, akurat ti poradim, ze ich neznazornuj pixelmi - je to zdlhave a zbytocne. Pouzi metodu Ellipse triedy TCanvas:
Kód:
Form1.Canvas.Ellipse( 100, 100, 120, 120 );


Jej prve dva parametre su x1 a x2, dalsie dve x2 a y2. To znamena, x2 - x1 dostanes priemer gulicky. Na ten som zabudol, tiez si ho predaj ako datovy clen triedy TGulicka + potrebne metody na jeho zvacsovanie/zmensovanie.


Odpovedať na tému [ Príspevkov: 2 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. K:Neocube magneticke gulicky

v Kúpim

1

459

02.08.2010 20:36

LoveJoy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Padajuce PCCKO?

v Obchody, reklamácie a právo

6

692

25.05.2011 14:25

EXIREXT Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. padajuce listy

v JavaScript, VBScript, Ajax

7

844

08.10.2009 20:39

Snacker Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. GeForce 7300GS - padajuce FPS

v nVidia grafické karty

4

277

20.01.2013 14:41

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Antik+D-Link DIR-605L+Padajúce wifi

v Siete

4

396

14.03.2016 12:09

Parohata Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MSI GTX 1070 - padajuce hry pri vysokej zatazi

v nVidia grafické karty

20

996

29.10.2018 18:31

2pacavely Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra