[AS2] Δημιουργία thumbnail gallery

ActionScript και Flex Προγραμματισμός

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 30 Μαρ 2009 17:46

Χαιρετώ όλους τους φίλους

Είμαι στραβάδι σε ότι αφορά το Flash και μπερδεύομαι με τη σύνταξη του actionscript και ζητώ βοήθεια .

Εχω , ας πούμε , 12 εικόνες (μεγάλο μέγεθος) , και αντίστοιχα 12 εικονίδιά τους .
Θέλω με actionscript να τα φορτώσω τα εικονίδια από τον φάκελλο "thumbs" και να τοποθετηθούν σε 3 κολώνες των 4 η καθεμιά .
Ακολούθως θέλω πατώντας το εικονίδιο να παρουσιάζεται στην ίδια σελίδα η κανονική σε μεγάλο μέγεθος αντίστοιχη εικόνα φορτώνοντάς την από το φάκελλο "images" .

Εχω μπλέξει άσχημα με τα createEmptyMovieClip , Arrays κλπ , αλλά δεν θα ήθελα να εγκαταλέιψω την προσπάθεια .

Σημειωτέον ότι έχω φτιάξει το παραπάνω κάνοντας inserting τα εικονίδια και τοποθετώντας τα με το χέρι στη θέση τους και βγάζω τις αντίστοιχες εικόνες με το LoadMovie , αλλά
επαναλαμβάνοντας τον κώδικα γιά κάθε μιά εικόνα (που στην πραγματικότητα δεν είναι 12 αλλά πολύ περισσότερες) .
Αν μπορούσε κάποιος να βοηθήσει να ξεφύγω από αυτό τον ενοχλητικό και ανορθόδοξο τρόπο κώδικα , θα με υποχρεώσει .

Ευχαριστώ εκ των προτέρων


Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 31 Μαρ 2009 16:59

Ευχαριστώ HeRu γιά την άμεση και ενημερωτική απάντηση .
Το πρόβλημά μου ήταν να μειώσω τό όγκο του κώδικα του actionscript που αν μπορούσα να καταφέρω την σύνταξη δεν θα έπρεπε να είναι πάνω από 20 γραμμές .
Στα παραδείγματα που έχουν τα Links , μιλάμε γιά όγκο από κώδικα .

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από HeRu » 31 Μαρ 2009 17:42

Ποιο είναι το πρόβλημα με "ογκώδη" κώδικα ?

Ο κώδικας είναι text. Αν το πρόγραμμα σου είχε 10.000 γραμμές κώδικα είναι 9.7 KB εξτρά μέγεθος στο swf....

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 31 Μαρ 2009 18:07

Εχεις δίκιο , αλλά είναι και θέμα ικανοποίησης , να βλέπεις τον κώδικά σου νοικοκυρεμένο , και έχοντας γνώση της VBasic , o παρακάτω κώδικας που
κάνει αυτό που θέλω , δεν με ικανοποιεί γιατί θα μπορούσε να ήταν πιό μαζεμένος ειδικά από εκεί που αρχίζει η επενάληψη LoadMovie , συν θα μπορούσε να υπάρχει τρόπος
φόρτωσης των thumbs , αντι να γίνεται insert και τοποθέτησής τους με το χέρι .
Αλλά βέβαια μιλάμε ότι άρχισα να ασχολούμαι την περασμένη εβδομάδα .

Κώδικας: Επιλογή όλων

myArray=[p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33];
//*****************************
for&#40;i=0; i<34; ++i&#41;&#123;
_root&#91;"p"+i&#93;._alpha=50;
&#125;;
// ********************************
for&#40;i=0; i<34; ++i&#41;&#123;
_root&#91;"p"+i&#93;.onRollOver=function&#40;&#41;&#123;
this._alpha=100;
&#125;;
_root&#91;"p"+i&#93;.onRollOut=function&#40;&#41;&#123;
this._alpha=50;
&#125;;
&#125;;
// ********************************
var ini=85;
var xxx=264;
myArray=&#91;p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11&#93;;
//*********************************
for&#40;var i=0; i<12; i++&#41;&#123;
	myArray&#91;i&#93;._x=xxx;
	myArray&#91;i&#93;._y=ini+&#40;i*50&#41;;
&#125;;
// ********************************

// ********************************
_root.p1.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/01.jpg",holder&#41;;
loadVariablesNum&#40;"text/01.txt", 0&#41;; 
&#125;;
_root.p2.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/02.jpg",holder&#41;;
loadVariablesNum&#40;"text/02.txt", 0&#41;; 
&#125;;
_root.p3.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/03.jpg",holder&#41;;
loadVariablesNum&#40;"text/03.txt", 0&#41;; 
&#125;;
_root.p4.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/04.jpg",holder&#41;;
loadVariablesNum&#40;"text/04.txt", 0&#41;; 
&#125;;
_root.p5.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/09.jpg",holder&#41;;
loadVariablesNum&#40;"text/09.txt", 0&#41;; 
&#125;;
_root.p6.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/06.jpg",holder&#41;;
loadVariablesNum&#40;"text/06.txt", 0&#41;; 
&#125;;
_root.p7.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/07.jpg",holder&#41;;
loadVariablesNum&#40;"text/07.txt", 0&#41;; 
&#125;;
_root.p8.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/08.jpg",holder&#41;;
loadVariablesNum&#40;"text/08.txt", 0&#41;; 
&#125;;
_root.p9.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/05.jpg",holder&#41;;
loadVariablesNum&#40;"text/05.txt", 0&#41;; 
&#125;;
_root.p10.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/10.jpg",holder&#41;;
loadVariablesNum&#40;"text/10.txt", 0&#41;; 
&#125;;
_root.p11.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/11.jpg",holder&#41;;
loadVariablesNum&#40;"text/11.txt", 0&#41;; 
&#125;;
//*****************************
var ini=85;
var xxx=332;
myArray=&#91;p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22&#93;;
//*********************************
for&#40;var i=0; i<12; i++&#41;&#123;
	myArray&#91;i&#93;._x=xxx;
	myArray&#91;i&#93;._y=ini+&#40;i*50&#41;;
&#125;;
// ********************************
_root.p12.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/12.jpg",holder&#41;;
loadVariablesNum&#40;"text/12.txt", 0&#41;; 
&#125;;
_root.p13.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/13.jpg",holder&#41;;
loadVariablesNum&#40;"text/13.txt", 0&#41;; 
&#125;;
_root.p14.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/14.jpg",holder&#41;;
loadVariablesNum&#40;"text/14.txt", 0&#41;; 
&#125;;
_root.p15.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/15.jpg",holder&#41;;
loadVariablesNum&#40;"text/15.txt", 0&#41;; 
&#125;;
_root.p16.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/16.jpg",holder&#41;;
loadVariablesNum&#40;"text/16.txt", 0&#41;; 
&#125;;
_root.p17.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/17.jpg",holder&#41;;
loadVariablesNum&#40;"text/17.txt", 0&#41;; 
&#125;;
_root.p18.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/18.jpg",holder&#41;;
loadVariablesNum&#40;"text/18.txt", 0&#41;; 
&#125;;
_root.p19.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/19.jpg",holder&#41;;
loadVariablesNum&#40;"text/19.txt", 0&#41;; 
&#125;;
_root.p20.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/20.jpg",holder&#41;;
loadVariablesNum&#40;"text/20.txt", 0&#41;; 
&#125;;
_root.p21.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/21.jpg",holder&#41;;
loadVariablesNum&#40;"text/21.txt", 0&#41;; 
&#125;;
_root.p22.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/22.jpg",holder&#41;;
loadVariablesNum&#40;"text/22.txt", 0&#41;; 
&#125;;
//*****************************
var ini=85;
var xxx=398;
myArray=&#91;p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33&#93;;
//*********************************
for&#40;var i=0; i<12; i++&#41;&#123;
	myArray&#91;i&#93;._x=xxx;
	myArray&#91;i&#93;._y=ini+&#40;i*50&#41;;
&#125;;
// ********************************
_root.p23.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/23.jpg",holder&#41;;
loadVariablesNum&#40;"text/23.txt", 0&#41;; 
&#125;;
_root.p24.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/24.jpg",holder&#41;;
loadVariablesNum&#40;"text/24.txt", 0&#41;; 
&#125;;
_root.p25.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/25.jpg",holder&#41;;
loadVariablesNum&#40;"text/25.txt", 0&#41;; 
&#125;;
_root.p26.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/26.jpg",holder&#41;;
loadVariablesNum&#40;"text/26.txt", 0&#41;; 
&#125;;
_root.p27.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/27.jpg",holder&#41;;
loadVariablesNum&#40;"text/27.txt", 0&#41;; 
&#125;;
_root.p28.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/28.jpg",holder&#41;;
loadVariablesNum&#40;"text/28.txt", 0&#41;; 
&#125;;
_root.p29.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/29.jpg",holder&#41;;
loadVariablesNum&#40;"text/29.txt", 0&#41;; 
&#125;;
_root.p30.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/30.jpg",holder&#41;;
loadVariablesNum&#40;"text/30.txt", 0&#41;; 
&#125;;
_root.p31.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/31.jpg",holder&#41;;
loadVariablesNum&#40;"text/31.txt", 0&#41;; 
&#125;;
_root.p32.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/32.jpg",holder&#41;;
loadVariablesNum&#40;"text/32.txt", 0&#41;; 
&#125;;
_root.p33.onRelease=function&#40;&#41;&#123; 
loadMovie&#40;"photos/33.jpg",holder&#41;;
loadVariablesNum&#40;"text/33.txt", 0&#41;; 
&#125;;

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από HeRu » 31 Μαρ 2009 18:49

Ορίστε ένα script που έφτιαξα στα γρήγορα. Πιστεύω ότι μπορείς να το μοντάρεις στα μέτρα σου! :wink:

Κώδικας: Επιλογή όλων

var COLUMNS = 3;// Number of columns
var THUMBSIZE = 20;// Thumb size
var COLSPACE = 10;// Spacing
var ROWSPACE = 5;// Spacing
var thumbs_arr = new Array&#40;&#41;;

function createThumb &#40;idx&#41;
&#123;
	var newThumb_mc = createEmptyMovieClip &#40;"thumb" + idx, idx&#41;;
	// Create Thumb
	var thumbHolder_mc = newThumb_mc.createEmptyMovieClip &#40;"thumb", 0&#41;;
	thumbHolder_mc.loadMovie &#40;"thumbs/p" + idx + ".jpg"&#41;;
	
	// Assign Behavior
	newThumb_mc.onRelease = function &#40;&#41;
	&#123;
		loadMovie &#40;"photos/p" + idx + ".jpg", holder_mc&#41;;
		//loadVariablesNum&#40;"text/01.txt", 0&#41;;
	&#125;;
	thumbs_arr.push&#40;newThumb_mc&#41;;
	return newThumb_mc;
&#125;

function clearThumbs&#40;&#41;
&#123;
	var len = thumbs_arr.length;
	for&#40; i = 0; i < len; i++&#41;
	&#123;
		thumbs_arr&#91;i&#93;.removeMovieClip&#40;&#41;;
	&#125;
	thumbs_arr = new Array&#40;&#41;;
&#125;

var THUMBNUM = 6; // Number of thumbs
var COL = 0;
var ROW = 0; // Helper var for counting rows
var OFFSETX = 100; // Screen offset x for all thumbs
var OFFSETY = 100;// Screen offset y for all thumbs
for&#40; i=1; i<=THUMBNUM; i++&#41;
&#123;
	if&#40;&#40;COL++ % COLUMNS&#41; == 0&#41;
	&#123;
		COL = 1;
		ROW++
	&#125;
	var new_mc = createThumb &#40;i&#41;;
	new_mc._x = OFFSETX + COL * THUMBSIZE + &#40;COL == 1 ? 0 &#58; COLSPACE&#41;;
	new_mc._y = OFFSETY + ROW * THUMBSIZE;
&#125;
Και το test environment:
Συνημμένα
concThumbs.zip
Source
(68.55 KiB) Μεταφορτώθηκε 365 φορές
Τελευταία επεξεργασία από το μέλος HeRu την 03 Απρ 2009 21:49, έχει επεξεργασθεί 2 φορές συνολικά.

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 31 Μαρ 2009 20:06

Τι μπορώ να πώ . Ενα μεγάλο ευχαριστώ ..... κλισέ
Υποχρεωμένος ..... το ίδιο
Χαίρομαι που υπάρχουν ακόμα Ανθρωποι .


Τέλειο !!!!!!!!!!!!

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 03 Απρ 2009 16:42

Παρ' όλο που το actionscript με το createEmptyMovieClip με έχει βοηθήσει τα μέγιστα στο σχεδιασμό του project μου , εν τούτοις έχω ένα πρόβλημα όταν θέλω να φύγω από τη
συγκεκριμένη παρουσίαση και να πάω σε άλλη τα thumbs παραμένουν .
Πως μπορώ να τα καταργήσω , cancel , ή οτιδήποτε άλλο .

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από HeRu » 03 Απρ 2009 17:58

Μπορείς να τα κρατάς σε ένα Array και μετά όταν θες να κάνεις clear, να κάνεις removeMovieClip();

Πχ.

Κώδικας: Επιλογή όλων

/* rest of code */
var thumbs_arr = new Array&#40;&#41;;
function createThumb &#40;idx&#41;
&#123;
	/* rest of code */
	thumbs_arr.push&#40;newThumb_mc&#41;;
	/* rest of code */
&#125;

function clearThumbs&#40;&#41;
&#123;
	var len = thumbs_arr.length;
	for&#40; i = 0; i < len; i++&#41;
	&#123;
		thumbs_arr&#91;i&#93;.removeMovieClip&#40;&#41;;
	&#125;
	thumbs_arr = new Array&#40;&#41;;
&#125;
/* rest of code */
Έκανα edit και τον πάνω κώδικα!
Τελευταία επεξεργασία από το μέλος HeRu την 03 Απρ 2009 21:48, έχει επεξεργασθεί 1 φορά συνολικά.

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 03 Απρ 2009 19:03

Ευχαριστώ πολύ ,
Μπερδεύτηκα τώρα , το edited code μου βγάζει syntax error κάπου εκεί στο For ....
και με τις αγκύλες δεν έβγαλα άκρη

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από HeRu » 03 Απρ 2009 19:10

Geobas έγραψε:Ευχαριστώ πολύ ,
Μπερδεύτηκα τώρα , το edited code μου βγάζει syntax error κάπου εκεί στο For ....
και με τις αγκύλες δεν έβγαλα άκρη
Δες το ολοκληρωμένο πάνω. Το τέσταρα πριν το ποστάρω!

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 03 Απρ 2009 20:02

Εξακολουθώ και έχω syntax error στο function clearThumbs() .
Αστο μην σε κουράζω μιά και είναι δύσκολο αφού απέχουμε παρασάγγας σε επίπεδο γνώσης actionscript .
Thanks anyway

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από HeRu » 03 Απρ 2009 21:47

Geobas έγραψε:Εξακολουθώ και έχω syntax error στο function clearThumbs() .
Αστο μην σε κουράζω μιά και είναι δύσκολο αφού απέχουμε παρασάγγας σε επίπεδο γνώσης actionscript .
Thanks anyway
Ok κανε μια προσπάθεια και αν δεν βρίσκεις λύση, θα σε βοηθήσω. Πάντως με μια γρήγορη ματιά μπορεί να φταίει που δεν έβαλα σε κάποιες γραμμές ; . Κάποιοι actionscript compilers μπερδεύονται...Το έκανα edit και πάνω

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 04 Απρ 2009 12:31

HeRu έγραψε: Ok κανε μια προσπάθεια και αν δεν βρίσκεις λύση, θα σε βοηθήσω. Πάντως με μια γρήγορη ματιά μπορεί να φταίει που δεν έβαλα σε κάποιες γραμμές ; . Κάποιοι actionscript compilers μπερδεύονται...Το έκανα edit και πάνω
ΟΚ . Ο κώδικας είναι καθαρός έλειπε ακόμα 1 [;]. Φορτώνει τα thumbs κανονικά και δουλεύουν αλλά δεν ξεφορτώνονται πηγαίνοντας σε άλλο stage .

Geobas
Δημοσιεύσεις: 62
Εγγραφή: 29 Ιαν 2008 20:47

[AS2] Δημιουργία thumbnail gallery

Δημοσίευση από Geobas » 04 Απρ 2009 12:52

Μιά σκέψη .

Μήπως θα μπορούσα να χρησιμοποιώ τον αρχικό κώδικα γιά την φόρτωση των thumbs και αν γίνεται το καθάρισμά τους να γίνεται με ανεξάρτητο κώδικα onRelease κάποιου button ?

Απάντηση

Επιστροφή στο “ActionScript και Flex Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες