FULLSLIDING

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 26 juil. 2008 à 18:54
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 28 juil. 2008 à 11:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47416-fullsliding

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
28 juil. 2008 à 11:35
Héhéhé...

Moi, je regrette bien mon petit Sinclair ZX-80, l’ordinateur le moins cher du monde!

Bon, il n'avait que 1 Ko de mémoire vive, pas d'écran (la télé! Bonjour les conflits familiaux! lol ), pas d’unité de sauvegarde (il fallait brancher un magnétophone), un petit clavier comme une calculette, une imprimante thermique qui imprimait sur un ticket de caisse!..

Et tout ça en plastique de 1ère qualité !
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
28 juil. 2008 à 11:15
Chez moi non plus ça ne scintille pas, l'animation est très fluide, quelle que soit la vitesse, même sous Windows 2000.

A propos de vieux coucous, je conserve précieusement pour les générations futures mon Sharp MZ80K de 1980, mon premier OI, qui possède quand même 48 Ko de mémoire, un écran 25 lignes de 40 caractères, noir et blanc, un lecteur de cassettes et un clavier avec des touches graphiques et tout ça monobloc en pierre taillée.

Pour les p'tits jeunes : OI = Ordinateur Individuel, terme utilisé bien avant PC (Petit Calculateur).
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
27 juil. 2008 à 22:02
@Cari:
je suis sur portable Dell 1,66 GHz (dualcore qd même) avec
512 Mo de RAM..et pas de scintillement non plus.

Bull Micral sorti en 1985..mais il doit y avoir plus vieux puisque j'ai vu les premiers micro arrivés fin des années 70.

bah je vais quand même revoir le code entre deux barbecues..
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
27 juil. 2008 à 20:50
...Ma mémé avait un PC comme ça pour ranger ses confitures. mdr
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
27 juil. 2008 à 20:48
Chez moi, ça scintille pas.

- Bull Micral?
- C'est bien ces PC style Henri II..?
- ...en bois, avec des pédales et des colonnes torsadées?
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
27 juil. 2008 à 19:53
@Cirec:
2 avatars ? mince, c'est une erreur !
mais non, c'est voulu, tu le mérites bien..
Bon, chez moi, ça ne scintille pas, et je ne trouve pas qu'il y a beaucoup de CPU consommée..
Mais, comme je souhaite que ce truc tourne sur les BullMicral,
je vais le refaire en utilisant cette technique :

procedure TForm1.ChargeImageJPEG;
var
ImageJPEG: TJPEGImage;
ImageBmp: TBitMap;
begin
ImageJPEG := TJPEGImage.Create;
try
ImageJPEG.LoadFromFile('cirec2.jpg');
ImageBmp := TBitMap.Create;
try
ImageBmp.Assign(ImageJPEG);
PaintBox1.Canvas.Draw(0, 0, ImageBmp);
finally
ImageBmp.Free;
end;
finally
ImageJPEG.Free;
end;
end;
çà ira mieux je pense..

je suis sûr que tu as déjà terminé alors que moi je n'ai pas encore allumé mon portable !

et puis, cool, cool..
c'est bientôt les vacances..
Utilisateur anonyme
27 juil. 2008 à 13:43
Je suis à la fête ... j'ai droit à deux avatars ^^

après pour renommage des composants je vous ai donné mon avis sur la chose après vous faites comme vous le sentez ;)

Chez moi aussi ça scintille en même temps c'est normal.
Je n'utilise déjà pas de composant TImage pour animer une seule Image parce que c'est trop lourd ... alors il ne faut pas s'étonner si ça "rame" avec 9 :)
On devrait pouvoir réaliser le même effet avec beaucoup moins de consommation au niveau ressources CPU
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
27 juil. 2008 à 10:06
Cashemire bouffe 2 choses : le facteur et les webcams lol.

Chez moi aussi ca scintille (Mais bon j'ai un vieux coucou). Sinon c'est rigolot et ca permettra à certains d'apprendre des petits trucs rigolots.
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
26 juil. 2008 à 22:01
merci cari pour le retour à zéro..
pour le renommage, Cirec n'a pas tout à fait tord car
si quelqu'un reprend le code derrière..
enfin, pour l'instant, il est en train de se faire bronzer.
donc, pas d'inquiétude..
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 juil. 2008 à 21:18
Bonsoir,
ah oui pour le renommage des composants, j'avais pas vu que tu utilisais FindComponent (enfin j'avais vu, ca m'avait interessé mais c'était après le commentaire ^^) oui la c'est mieux de mettre l'ID + un nombre, pour une boucle for-do, excuse-moi :p

Quant aux scintillements + utilisation du CPU : oui enfin faut dire que j'ai un 1,5GHz (sur un petit portable) donc ça doit être pour ça :p (obligé de mettre 19 doublebuffered, quelle honte ! et encore j'en ai pas mis sur le bouton ni la trackbar lol).

Debordement des images : oui j'ai noté que l'image se décalait au bout de certains changements de direction, ça doit être un effet de décalage (en jouant avec les operateurs <, >, = ca devrait marcher je pense).

Par rapport au problème Haut-Gauche, etc ...
je vais essayer de me pencher sur la question, en tentant un tableau contenant l'historique des directions des mouvements des 4 derniers, ainsi qu'une fonction qui vérifie si il est raisonnable d'aller dans telle direction.

Merci beaucoup pour ces encouragements de ta part :) j'ai été pas mal absent de CS depuis quelques temps, mais je vais essayer de m'y consacrer plus entièrement.
*pense : faudrait que je me mette a la base de données, tout le monde en parle et je sais pas comment m'en servir :o*

Merci :)

Cordialement, Bacterius !
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
26 juil. 2008 à 21:17
...T'en fais pas pour Pépita et Cashemire!
Ma chienne ne bouffe que du facteur. lol

Pour le débordement, il me semble que cela suffit pour régler le problème :

{ ... }
if ImageEnCours[num].Left > -2 then {test de débordement de l'image}
begin
ImageEnCours[num].Left := 0; <-- Ajout

{ ... }

if ImageEnCours[num].Top > -2 then
begin
ImageEnCours[num].Top :=0; <-- Ajout
{ ... }


Pour le renommage des compos, je fais comme Cantador. Tant que je ne les rencontre pas dans le code, je ne renomme pas. Mais Cirec n'est pas de cet avis. :)
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
26 juil. 2008 à 20:47
Salut Bacterius,

J'écrivais,il y a quelque temps :"Celui-là, on va le revoir..".

Je tiens à te féliciter à mon tour pour toutes tes interventions sur CodeSource et tes progrès qui se font à pas de géant !
Bravo !
Ah oui, le code..
Qu'est ce que..
le scintillement..
mais j'ai pas de scintillement sur mon micro
J'ai mis un DoubleBuffered uniquement par précaution.
(quand je l'enlève, çà change rien..)

"l'image ne puisse pas prendre plusieurs fois la même direction genre Haut-Gauche"

Oui, j'ai bien vu ce souci et j'ai même tenté de le régler
apparemment sans résultats(lol)

chez moi l'application plafonne à 94% du CPU ...)
chez moi, çà tourne nickel..J'ouvre même coreldraw pendant que ça marche.
je vais néanmoins examiner ce point particulier.

Ah, si il y a quand même un léger débordement des images(au bout de x secondes) que je ne m'explique pas pour l'instant..

"tu aurais pu renommer un peu plus les composants"

ouiche..effectivement mais là il s'agit d'un cas particulier puisqu'au évènement n'affectent les panels et les images
et ces dernières sont détectées automatiquement grâce au FindComponent.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 juil. 2008 à 19:04
Ah une dernière remarque : n'est-il pas possible de diminuer l'utilisation du CPU (chez moi l'application plafonne à 94% du CPU ...), par exemple en optimisant les calculs à faire ?

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 juil. 2008 à 18:59
Lol en fait c'est super simple (je viens de voir le code), il s'agit juste d'une image qui change de position, je pensais qu'il s'agissait d'un Draw à des endroits différents du canvas des images.
Sinon le principe est simple.
Mais il serait peut-être plus joli de faire en sorte que l'image ne puisse pas prendre plusieurs fois la même direction genre Haut-Gauche => Haut-Droite => Haut-Gauche => Haut-Droite car c'est un peu ennuyant a la longue et statistiquement ça arrive très souvent. Il faudrait alors mettre un système de stockage des directions sur une étendue de 4 mouvements, ou autour de 4, et vérifier si on peut bouger dans le sens désiré sans que cela soit répétitif trop souvent !

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 juil. 2008 à 18:54
Bonsoir, je n'ai pas encore tout à fait regardé le code, mais je trouve que l'effet visuel est très sympatique à regarder (ça ne frise pas la crise d'epilepsie comme certains codes que j'ai vus sur CS ...).
Par contre les scintillements sont légion, je me suis permis de mettre des doublebuffered sur les 18 (oooh) panels, d'accord ça tourne moins vite, ça prend plus de mémoire, mais au moins on evite les scintillements, si pénibles ...

Je vais me plonger dans le code pour voir comment c'est fait.
Mais tu aurais pu renommer un peu plus les composants quand même lol (Image6, Panel11, CheckBox1, TrackBar1 ...).

Sinon l'idée est originale :p et ça m'a l'air stable.

Cordialement, Bacterius !

PS : mon préféré est le crâne de Cirec lol j'adore voir les lettres C I R E C se montrer a tour de rôle !
Rejoignez-nous