begin process at 2010 02 10 01:24:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > AVATARS IN MADNESS

AVATARS IN MADNESS


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :cantador, graphisme, objet, animation, ImageList Niveau :Débutant Date de création :01/04/2009 Date de mise à jour :02/04/2009 15:31:58 Vu / téléchargé :1 458 / 158

Auteur : cantador

Ecrire un message privé
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,


Reprise du programme Balls de f0xi
(http://www.delphifr.com/codes/BALLS-BALLE-RE BONDISSANTE-VERSION-OBJET_39922.aspx)

Mais chose étrange, les avatars se mettent à danser comme des abeilles s'afférant sur leur ruche..

Ne seraient-ils pas plutôt en proie à la danse de Saint Guy ?

??????
????
??
?

II s'agit bien sûr d'une petite blague que j'aime faire de temps en temps et surtout le 1er avril !

cantador



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

01 avril 2009 14:15:28 :
orthographe
01 avril 2009 17:21:57 :
Correction fuite mémoire sur intervention de cirec
01 avril 2009 19:05:32 :
ScreenShot
02 avril 2009 15:31:59 :
Quelques uses en trop, un create aussi (ouf cirec l'a pas vu !) et rajout de francky23012301 que j'avais oublié

 Sources du même auteur

Source avec Zip Source avec une capture LIER DEUX TDBGRID
Source avec Zip Source avec une capture SIMPLEWEBBROWSER
Source avec Zip Source avec une capture BACKUP RESTORE FIREBIRD OU INTERBASE
Source avec Zip Source avec une capture BONNE ANNEE !
Source avec Zip Source avec une capture MA PETITE COMBINE

 Sources de la même categorie

Source avec Zip Source avec une capture EFFET VITRE ET THUMBNAILS SOUS VISTA par Bacterius
Source avec Zip Source avec une capture ANAGLYPHEUR OU COMMENT VOIR EN RELIEF LES STÉRÉOSCOPES ANCES... par jfs59
Source avec Zip Source avec une capture DÉFORMER UNE IMAGE AUX DIMENSIONS D'UN QUADRANGLE QUELCONQUE... par FFCAST
Source avec Zip Source avec une capture THREAD ET BITMAP (DESSIN AU CRAYON) par barbichette
Source avec Zip Source avec une capture ÉCRAN DE VEILLE FEU D'ARTIFICE par barbichette

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BONNE ANNEE ! par cantador
Source avec Zip COMPOSANT IMAGE ANIMÉE par Debiars
Source avec Zip Source avec une capture EDITEUR D'ANIMATIONS par Debiars
Source avec Zip Source avec une capture TRIUMVIRAT par cantador
Source avec Zip Source avec une capture BALLS, BALLE REBONDISSANTE VERSION OBJET. par f0xi

Commentaires et avis

Commentaire de cirec le 01/04/2009 13:00:37 administrateur CS

Salut,

il y a de grosses fuites de mémoire !!

voici la correction des fuites et du problème de chargement des Avatars depuis l'ImageList :

procedure TFMadness.InitAvatar;
var
  i: integer;
begin
  Randomize;
  DoubleBuffered := true;
  SetLength(Avatar, AvatarList.count);

  for i := 0 to AvatarList.count - 1 do
  begin
    Avatar[i] := TAvatar.Create(PBScreen.Canvas, PBScreen.ClientRect);  {on crée les objets }

    with Avatar[i] do
    begin
      Avatarlist.GetBitmap(i, AvatarBitmap);  // ne marche pas à la place du load dommage...???
      width := AvatarBitmap.width;
      height := AvatarBitmap.height;
    end;
  end;
end;

procedure TFMadness.FormCreate(Sender: TObject);
begin
//////////////////// MODIFICATION /////////////////////////////////////////////////
  InitAvatar;
end;


// ******** Ajouter l'évènement OnDestroy ************
procedure TFMadness.FormDestroy(Sender: TObject);
var I: Integer;
begin
  for I := low(Avatar) to High(Avatar) do
    Avatar[I].Free;
end;

les déplacements sont hypnotiques ^^

Commentaire de cantador le 01/04/2009 14:13:05

Salut cirec et merci pour ton commentaire

Je n'ai pas vu de fuites..tous les objets sont libérés et le programme semble fluide.
En revanche, tu as trouvé le truc pour charger les images à partir du TImageList (quel z..., il fallait mettre la propriété de l'objet..)
J'avais également déclaré deux fois le tableau (ouf)

Mais, la première version donne un meilleur rendu à l'écran que la modification (qui ne gère pas les masques des bmp..)

Je ferai la correction une fois ce souci réglé.

Les hypnotiques, à consommer avec modération !

cantador

Commentaire de cirec le 01/04/2009 14:33:21 administrateur CS

Alors en ce qui concerne les fuites ... je te garanti qu'elles sont bien réelles et importantes.

Et non tous les objets ne sont pas libérés !!!
Les TAvatar ne sont jamais libérés .... il y a bien un destructeur d'implémenté mais il n'est appelé par personne.
d'ou la dernière modification pour faire appel au destructeur.
Si tu veux automatiser la chose il faut passer un TObjectList ou Dériver TAvatar de TComponent et lui donner un Owner qui se chargera de tout libérer à la fin.

Voici le détail des fuites avec le code d'origine.
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:



21 - 28 bytes: TBrush x 14

29 - 36 bytes: TPen x 14, Unknown x 2

37 - 44 bytes: TFont x 14

61 - 68 bytes: TAvatar x 14, TBitmap x 28

101 - 108 bytes: TBitmapCanvas x 14

117 - 124 bytes: TBitmapImage x 28

149 - 156 bytes: Unknown x 1

et pour les images j'ai exactement le même résultat avec l'ImageList qu'avec les Bitmaps chargés depuis le disque ... la seule différence se trouve dans la taille des images .... celles de l'ImageList sont plus petites mais aucune différence dans l'affichage ou la transparence !!!
Testé sous D7 et D2009

Commentaire de cantador le 01/04/2009 15:27:30

ok pour les TAvatars
mais la transparence quedal, je ne vois plus le fond mais du blanc derrière les avatars.
vite un hypnotique !!

Commentaire de cirec le 01/04/2009 15:50:09 administrateur CS

ah .. problème de version de Delphi ?
quelle version utilises-tu ?

Commentaire de cantador le 01/04/2009 16:24:54

D7 et qu'utilises-tu comme outil pour détecter les fuites mémoires ?

Commentaire de cirec le 01/04/2009 16:36:16 administrateur CS

ouais ben y a un truc qui est pas claire ... j'ai modifier et compilé le code sous D7 également et ça fonctionne très bien !!!
j'ai pas fond blanc derrière !!

et pour tester les fuites je l'ai compilé sous Delphi 2009
en ajoutant cette ligne:
ReportMemoryLeaksOnShutdown := True;

disponible depuis TurboDelphi !!!

Commentaire de cantador le 01/04/2009 17:01:00

ReportMemoryLeaksOnShutdown := True;
pour les fuites, ça ne fonctionne que >= D2006
pour la transparence ya un truc..

Commentaire de Bacterius le 01/04/2009 21:17:29

Oh je suis dedans :}
L'effet est effectivement hypnotique, ça va tellement vite que j'en ai la tête qui tourne ...

Cordialement, Bacterius !

PS : pourquoi tu m'as pas mis dans le bitmap 7 ? ^^ mais le 1 est bien aussi ça signifie plein de choses ... et puis je suis né le 1er aout après tout :p

Commentaire de cantador le 01/04/2009 22:24:32

Oui Bacterius mieux vaut être le 1 que le 7
mais je te dirai honnêtement que je n'ai pas réfléchi à l'ordre des avatars..
Mais ne dit on pas que le hasard...
et en plus ce n'est pas du tout ce que je voulais faire au départ mais vla ti pas le 1er avril !

A propos de chimi, peut-tu faire un test avec la solution GetBitmap(que je préfèrerai bien sûr) à la place du LoadFromFile(que j'ai conservée pour le moment) et voir si tu n'aurais pas un souci avec la transparence des avatars (je sais que tu es sous D6 et moi sous D7)
mais ça fera toujours un test
merci par avance

cantador

Commentaire de Bacterius le 02/04/2009 17:03:29

Ben chez moi quand je décommentai la ligne GetBitmap (l. 72), un morceau du bitmap était découpé.
J'ai donc supprimé la ImageList, j'en ai créé une nouvelle, j'ai changé la taille à 80x80 et j'ai mis dedans tous les bitmaps des avatars. Ensuite, ça a marché sans problème avec la transparence (j'ai laissé clWhite comme couleur de transparence dans l'ajout des bitmaps d'avatars).

Cordialement, Bacterius !

Commentaire de MAURICIO le 02/04/2009 17:20:30

lol,

je testerai se soir ^^

Par contre, j' ai essayé de poster une source et celle-ci fut tout de suite désactivée et j' en profite pour faire appel aux Admins qui passerait par ici ...

A+

Commentaire de Bacterius le 02/04/2009 17:33:31

C'est normal, un admin va te l'activer dans la journée :)
Petit bug passager de CS ...

Cordialement, Bacterius !

Commentaire de MAURICIO le 02/04/2009 17:36:44

Merci bacterius,

je suis rassuré ^^

Désolé les gars de pas être plus présent mais je me suis résigné: je dois passer sur delphifr le soir car la journée c' est pratiquement impossible depuis quelques mois. Je dois avoir environ 200 sources à voir ...

A+

Commentaire de Nicolas___ le 02/04/2009 18:14:56

Salut Cantador , tu m'avais demandé des conseils , donc je parle ^^

je ne comprends pas pourquoi tu n'utilise pas mon TSpriteEngine , tu aurais la même chose plus facilement , plus rapidement et de plus , tu n'aurais même pas du utiliser de TImageList et co ...

En plus on peut pas dire que je n'ai pas poster des exemples pour l'utiliser :  
http://www.delphifr.com/codes/SPRITE-ENGINE-2D-FACILEMENT_49176.aspx
http://www.delphifr.com/codes/JEU-SHOOT-CANARD_49362.aspx

je ne veux pas "imposer" ma source mais tu aurais tout de même eu plus facile
(de plus tu aurais même pu t'amuser avec le facteur alpha ^^ ) ,
je vais bientôt poster une MAJ de celle-ci (
Possibilité de changer la taille des Sprites ,  
Grosse amélioration pour la partie sonore ...
)


Sinon je trouve le mouvement des avatars des plus ... chaotique ... 10 secondes de plus et mes yeux ne tenaient pas le coup ^^

Commentaire de Bacterius le 02/04/2009 18:17:48

Peut-être augmenter un petit peu la fluidité des mouvements pour les rendre plus naturels (déplacements par 1 pixel plutôt que par 5 ou 6) ? Comme des vraies abeilles :)

Cordialement, Bacterius !

Commentaire de cantador le 02/04/2009 21:56:15

@MAURICIO: merci pour le comeback
@Nicolas___: oui, mais ce n'était pas pour faire un poisson d'avril, mais quelque chose de plus sérieux dont on reparlera (peut-être à plusieurs..)
Bacterius: faire le mouvement d'une abeille ?
ouais heu bon ok mais moi je fais la reine !

Commentaire de Bacterius le 03/04/2009 17:06:11

Je parlais surtout d'un mouvement plus naturel, moins hachuré (on dirait que les avatars "sautillent" au lieu de "glisser" sur la fiche ^^).

Cordialement, Bacterius !

Commentaire de MAURICIO le 06/04/2009 23:23:51

Bonsoir à tous,

voilà, j' ai testé et regardé la source.
Pour info, je suis sur delphi2009 et je regrette mon PentiumII: c' est TROP rapide!

Même si cette source ne sert pas à grand chose, elle a le mérite d' être instructive pour la création de class.

A+

Commentaire de Renfield le 07/04/2009 09:18:05 administrateur CS

"trop rapide" liée au processeur ?

mauvais codage, prendre en compte un delta du temps, pour adapter la vitesse du jeu en fonction de l'occupation processeur.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ImageList ... Help ! ;-) [ par HEproduct ] Bonjour, je voudrai stocker des images de trés petites tailles dans une image lit et récupérer les noms dans une list box. Après quoi l'utilisateur en Changer position d'un objet [ par fabiin ] Salut,je voudrai changer la position d'un objetmais sans utiliser .Top ou .Leftavecune fonction genre SetWindowPos, mais poour les objets Merci @+Fabs Traducteur Delphi please ! [ par minipod ] Un sympatique delphinaute m'a dit de faire ceci pour résoudre mon problème. Le problème c'est que je sais pas faire çà en Delphi. Est-ce que quelqu'un blevel-like sur un graphisme en 3 couleurs [ par damanix ] Bonjour, Je cherche à faire un blevel-like sur un graphisme - en 3 couleurs, mettons blanc, gris, noir, et à les remplacer respectivement par clBtnHig Procedure avec un objet Automation [ par flo2102 ] Bonjour a tous!!Voila je voulais savoir si il existe une procedure qui permettent de mettre du code qui s execute a la fermeture d'un objet Automation Conseil pour Moteur 3D [ par dami ] Bonjour a tous .Je développe actuellement un jeux de stratégie 3D temps réel. J'ai décidé d'importer les objects via un loader 3ds que j'ai fais, je l Création dynamique d'objet - Gestion des evenements [ par fram ] Bonjour,Quelqu'un peut il me dire comment associer une procédure à un evenement d'un objet créé dynamiquement?Merci Application dans un TOLEContainer [ par freud2000 ] Bonjour, j'a créés une application Delphi avec un objet TOLEcontainer qui affiche des documents Word grace à la commande suivante : OleWord.CreateObje TDBGrid et son affichage [ par anseis ] Bonjour,Tout d'abord merci d'être aussi prolixe en sources tutoriaux et autres explications très utiles. Ma question porte sur l'affichage de données Animation dans un Menu [ par Chong ] Bonjour, Tiens Bestiol en parlant de Menu, moi j'aimerai savoir si qlq à déjà réalisé un composant permettant d'afficher une petite aniamtion (rectan


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales