Sons, Animations et boutons ??

cs_chillie Messages postés 5 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 11 juin 2008 - 1 avril 2008 à 11:07
cs_chillie Messages postés 5 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 11 juin 2008 - 3 avril 2008 à 11:12
Bonjour à tous,

Je ne suis pas une habituée des post, je trouve généralement la solution grâce à ceux des autres. Mais là je ne m'en sort vraiment plus !
J'ai des bonnes bases en flash et de très minces bases en action script (c'est un peu ça le souci).
Je pense que mon problème est assez complexe alors je vais essayer de prendre le temps d'être claire.

Je suis en train de créer une page en flash qui permet d'écouter différentes musiques.
Mon "player" est un arbre avec des fruits, l'idée c'est que un fruit = une musique. Quand on clique sur le fruit :
-la musique joue
- une animation rectangle+texte apparait pour donner des infos sur le morceaux.
-une fleur sort de terre et danse en rythme (oui je sais...)

Maintenant voici comment j'ai tout d'abord travaillé (en evitant trop de AS) :

Première Idée:
Le fruit est un movieclip dans lequel on trouve 3 calques et tout se passe là dedans :
*Claque1 pour la musique : image1 stoppée et un bouton(encore le fruit mais en verison btn) envoie à l'image deux sur laquelle j'ai placée la musique (litéralement, pas avec une action pour aller la chercher, elle est sur le calque.)
*Dans les calques 2 et 3, la première image est vide et la seconde contient la fleur qui danse pour la calque 3 et l'animation rectangle +text poue le calque 2. J'ai animé ma fleur avec de l'image pas image, facil ça suit le calque avec la musique c'est juste un peu fastidieux.

Bref à ce niveau tout fonctionne(en local), sauf que je me suis heurtée à trois problèmes.
1. Il faut une sacrée timeline pour contenir toute la musique soit 2 minutes.
2.Je n'ai trouvé aucun moyen de faire PAUSE !! en reprennant où  la musique était arrêtée.
3.J'ai crée un bouton stop avec comme action : on(release) {stopAllSounds;}qui ne  marche pas non plus.
Bref je m'énerve un peu, je passe quelques heures sur les tuto et les forums..... et

Deuxième Idée :
J'ai tout repris en AS avec ce tutotrial :
ici
J'ai suivi ce tuto nom pas dans la scène principale mais dans le movieclip du fruit. parce je veux que chaque fruit ai sa propre musique...
Mais ça ne marche pas : 3 problèmes encore:
1.Pas de son ! niet ! Pourtant j'ai bien nommé ce dernier (linkage /export for actionscript
blabla) et j'ai copier le son dans le répertoire où attérissent mes
*.swf.... et je vous assure que mon ordi n'est pas en muet !
2.La barre de chargement ne fonctionne pas non plus elle reste un rectangle immobile...Mais à la limite cette barre pour l'instant m'importe peu...
3.En plus je fais comment ensuite pour ma fleur qui danse en rythme ????

Hier j'ai passé la journée sur la papier à faire des math et à écrire pour chercher les fonctions dont j'avais besoin et clarifier mon cheminement afin de pondre un codeAS cohérant. J'ai parralèlement passé des heures sur les forum à chercher justement des brides de code correspondant.
Mais je n'y arrive pas !!
Je ne sais plus comment faire pour faire cette  page...

Quelqu'un à une troisième idée ??

Un immense merci à tous ceux qui essaieront de m'aider !!!

PS: je sais à quel point ça à l'air d'un sac de noeud alors s'il faut je veux bien vous donner carrément mon .fla que vous voyez...

3 réponses

kix484 Messages postés 79 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 24 juin 2010
1 avril 2008 à 11:24
Salut

Bon, déja j 'ai une inquiétude par rapport à ce que tu expilques.
Je suppose qu il y a plusieurs fruits sur ton arbre et donc plusieurs musique. Cela signifie que plusieurs musiques seraient contenues ds le swf?  Attention  car le poids va montrer tres vite et s il fo charger 5 ou 6 mega ca risque s d etre trop long.

Nan je te conseillerai de faire des recherches sur le streaming. C'est à dire que ton son n est pas ds le swf mais en externe et qu il est chargé en flux continu. Ainsi chaque fruit appelle un son externe.

biensur cela necessite qques connaissances en actionscript mais essaye de faire des recherches sur "streaming, son et actionscript".

 C'est clair que des fois y a moyen de peter un cable mais pour ton pbleme je crois que c la solution.

Voila a++

good luck
0
cs_chillie Messages postés 5 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 11 juin 2008
1 avril 2008 à 11:35
Merci pour cette réponse rapide !!

Je vais me pencher là dessus,  je croise les doigt lol !

Encore merci beaucoup.
0
cs_chillie Messages postés 5 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 11 juin 2008
3 avril 2008 à 11:12
Bon, ça y'est j'ai effectivement trouvé la solution pour charger mes musiques en externe, j'ai fini par acheter un bon bouquin d'AS, et ça fait du bien !
(Petite parenthèse pour ceux qui cherchent, j'ai suivi la methode David Tardiveau avec le livre 120 scripts pour flash, on charge les tuto en *.fla sur le site Yazo. net ici et le bouquin reste indipensable pour comprendre ce qu'on fait  et nous donner des bases!)

Maintenant voici ce que je cherche: comme je l'expliquais plus haut, j'ai crée l'animation d'une fleur qui bouge en rythme sur la musique et j'aimerai pourvoir la liée avec... la musique. En gros lier mon clip "flowerdanse" avec la musique (en sachant que j'ai des boutons pause lecture et stop... et que donc il faudrait que mon clip "flowerdanse" colle littéralement aux actions de la musique). J'ai trouvé quelques brides d'infos mais rien de concluant... Alors si quelqu'un peut m'aider ?

Merci beaucoup par avance !

Voici mon script pour le son si besoin.

btLecture.enabled = false;
pause_inst._visible = false;
jauge_inst._xscale = 0;
hp.setVolume(50);
//
afficherTempsConverti = function (temps, nomVariable) {
    tempsEcoule = temps;
    minutes = Math.floor(tempsEcoule/1000/60);
    secondes = Math.floor((tempsEcoule/1000)%60);
    minutes = minutes<=9 ? "0"+minutes : minutes;
    secondes = secondes<=9 ? "0"+secondes : secondes;
    _root[nomVariable] = minutes+":"+secondes;
};
//
traitementLecture = function () {
    jauge_inst._xscale = (hp.position/hp.duration)*100;
    afficherTempsConverti(hp.position, "affichageTemps");
};
lancementLecture = function () {
    hp.start();
    btLecture.enabled = false;
    btLecture._alpha = 60;
    pause_inst._visible = false;
    clearInterval(lancerSon);
    lancerSon = setInterval(traitementLecture, 100);
};
//
hp = new Sound();
hp.loadSound("sons/figurine.mp3", 0);
//
hp.onLoad = function() {
    btLecture.enabled = true;
    afficherTempsConverti(hp.duration, "affichageDureeTotal");
};
//
btLecture.onPress = function() {
    lancementLecture();
};
btArret.onPress = function() {
    btLecture.enabled = true;
    btLecture._alpha = 100;
    hp.stop();
    pause_inst._visible = false;
    clearInterval(lancerSon);
    memoPause = 0;
};
//
btZoneProgressLecture.onPress = function() {
    coefficientClic = Math.floor(this._xmouse/2.78)/100;
    if (!btLecture.enabled) {
        hp.stop();
        hp.start((hp.duration/1000)*coefficientClic, 1);
    }
    this.onMouseMove = function() {
        coefficientClic = Math.floor(this._xmouse/2.78)/100;
        hp.stop();
        hp.start((hp.duration/1000)*coefficientClic, 1);
    };
};
btZoneProgressLecture.onRelease = btZoneProgressLecture.onReleaseOutside=function () {
    delete this.onMouseMove;
};
//
btPause.onPress = function() {
    if (btLecture.enabled == false) {
        pause_inst._visible = true;
        btLecture.enabled = true;
        btLecture._alpha = 100;
        memoPause = hp.position/1000;
        hp.stop();
    } else {
        pause_inst._visible = false;
        hp.start(memoPause, 1);
        btLecture.enabled = false;
        btLecture._alpha = 60;
        clearInterval(lancerSon);
        lancerSon = setInterval(traitementLecture, 100);
    }
};
btRAZ.onPress = function() {
    memoPause = 0;
    hp.stop();
    lancementLecture();
    pause_inst._visible = false;
};
//
hp.onSoundComplete = function() {
    btLecture.enabled = true;
    btLecture._alpha = 100;
    jauge_inst._xscale = 0;
    clearInterval(lancerSon);
    afficherTempsConverti(0, "affichageTemps");
};
//
curseurVolume.onPress = function() {
    this.startDrag(false, 60, 200, 60, 320);
    this.onMouseMove = function() {
        niveauSonore = 100-(this._y-200)/1.2;
        vVolume = Math.round(niveauSonore);
        hp.setVolume(niveauSonore);
    };
};
curseurVolume.onRelease = curseurVolume.onReleaseOutside=function () {
    stopDrag();
    delete this.onMouseMove;
};
curseurBalance.onPress = function() {
    this.startDrag(false, 250, 310, 370, 310);
    this.onMouseMove = function() {
        balance = (this._x-310)*1.667;
        vBalance = Math.round(balance);
        hp.setPan(balance);
    };
};
curseurBalance.onRelease = curseurBalance.onReleaseOutside=function () {
    stopDrag();
    delete this.onMouseMove;
};

------------------------------------------------------------------------------------------
C'est en tentant qu'on devient tenteron !
0
Rejoignez-nous