Après avoir passé pas mal d'heures sur le code, voici un tutoriel qui vous permettra d'utiliser quelques: classes, filtres,etc. Le tout en AS2.
Je partage cette source avec vous, mais essayez quand même de l'utiliser comme correction et non comme une aide.
Voici donc le code créé pour l'ocasion:
- Code:
import flash.filters.BlurFilter; //on importe la classe BlurFilter (flou)
import flash.filters.DropShadowFilter;//et le filtre ombre porté
var ferm:Number=0;//on déclare la variable ferm qui vaut 0
var activ_reduir=1;//on déclare la variable "activ_reduir" qui vaut "1"
//on paramétre notre filtre de flou
var filtre:BlurFilter = new BlurFilter(2, 2, 1);
//de même pour les ombres portés
var dropShadow:DropShadowFilter = new DropShadowFilter(12, 45, 0x000000, 1.2, 10, 10, 2, 3);
///////////////////
window._visible=false;//on cache la fenêtre "window"
drag._visible=false;//on cache le clip drag
////////////////////////////////////////////////////////////////////
//bouton drag (clip)
////////////////////////////////////////////////////////////////////
//le clip "drag" nous servira à dragger la fenêtre au clic du clip "window"
drag.onPress=function(){
window.startDrag();//on commence le drag sur le clip
window._alpha=80;//on baisse de 20% l'opacité
//on affiche en sortie, la valeur de la variable "activ_reduir"
trace("actif_reduir= "+ activ_reduir);
//si "activ_reduir" est plus petit ou égale a 1...
if(activ_reduir<=1){
window.corp.filters = [dropShadow];//on applique l'ombre au clip "corp"
window.haut.filters= false;//on désactive l'ombre du clip "haut"
}
//sinon si "activ_reduir" est strictement égale à 2...
else if(activ_reduir== 2){
//on désactive le filtre du corp
window.corp.filters = false;
//et on applique l'ombre au clip "haut"
window.haut.filters=[dropShadow];
}
//on applique le filtre flou au drag et sur le clip "window"
window.filters = [filtre];
//on donne l'effet de lever sur la fenêtre
window._x=window._x-8 ;//déplacement de 8 px à gauche
window._y=window._y-20 ;// de 20 px vers le haut
}
/*on relie le clip drag au clip window*/
onEnterFrame=function(){
drag._x = window._x;
drag._y = window._y;
}
//au relachement du clip drag...
drag.onRelease=drag.onReleaseOutside=function(){
//on supprime l'ecoute du onEnterFrame
delete this.onEnterFrame;
//on stoppe le drag du clip window
window.stopDrag();
//on cache les ombres
window.haut.filters=false;
window.corp.filters=false;
//on remet l'alpha du clip window à 100%
window._alpha=100;
//on supprime aussi l'effet blur
window.filters =false;
// on donne un effet de repositionnement sur la fenêtre
window._x=window._x+8 ;
window._y=window._y+20 ;
}
////////////////////////////////////////////////////////////////////
//bouton fermer
////////////////////////////////////////////////////////////////////
//au relachement (aprés clic) du bouton fermer...
window.haut.fermer.onRelease=function(){
//la variable ferm vaut maintenant 1
ferm=1;
//on cache le clip window
window._visible=false;
//le bouton app (apparaitre) est visible
app._visible=true;
//on cache le clip drag
drag._visible=false;
}
//on attribue les différents états du bouton fermer au roll
window.haut.fermer.onRollOver=function(){
window.haut.fermer.gotoAndPlay(2);
}
window.haut.fermer.onRollOut=function(){
window.haut.fermer.gotoAndPlay(1);
}
////////////////////////////////////////////////////////////////////
//bouton reduire
///////////////////////////////////////////////////////////////////
//fonction du bouton reduire au relachement
window.haut.reduire.onRelease=function(){
//on cache le clip corp
window.corp._visible=false;
//la variable "activ_reduir" vaut maintenant 2
activ_reduir=2;
//on affiche le resultat en sortie
trace("activ_reduir=" + activ_reduir);
}
//état du bouton reduir au roll
window.haut.reduire.onRollOver=function(){
window.haut.reduire.gotoAndPlay(2);
}
window.haut.reduire.onRollOut=function(){
window.haut.reduire.gotoAndPlay(1);
}
//////////////////////////////////////////////////////////////////
//agrandir
//////////////////////////////////////////////////////////////////
//fonction du bouton agrandir au relachement
window.haut.agrandir.onRelease=function(){
//on affiche le clip corp
window.corp._visible=true;
//activ_reduir vaut maintenant 1
activ_reduir=1;
// afiche la valeur en sortie
trace("activ_reduir=" + activ_reduir);
}
//états du bouton au roll
window.haut.agrandir.onRollOver=function(){
window.haut.agrandir.gotoAndPlay(2);
}
window.haut.agrandir.onRollOut=function(){
window.haut.agrandir.gotoAndPlay(1);
}
//////////////////////////////////////////////////////////////////////
//app
//////////////////////////////////////////////////////////////////////
// alignement par default
Stage.align = "";
// ne pas redimensionner le contenu du player
Stage.scaleMode = "noScale";
// on definit scaleMode a "noScale" pour diffuser l´evenement onResize
// definit une methode onResize sur le clip "app"
app.onResize = function () {
centrerClip (this);
};
// ecoute l´evenement onResize de Stage(la scéne)
Stage.addListener ("monClip");
// centre le clip "app" au demarrage
centrerClip (monClip);
// function pour centrer le clip sur la scène
function centrerClip (clip) {
app._x = Stage.width / 2 - app._width / 2;
app._y = Stage.height / 2 - app._height / 2;
}
//fonction du bouton d'apparition "app"
app.onRelease=function(){
/*on implémente la variable ferm à chaque relachement du bouton*/
ferm++
//on remet la variable "activ_reduir" à 1
activ_reduir=1;
//le clip "drag" est maintenant utilisable
drag._visible=true;
//le clip corp est visible
window.corp._visible=true;
//(condition) si ferm est plus grand ou égale à 1
if(ferm>=1){
//alors on affiche la totalité de la fenêtre "window"
window._visible=true;
//on cache le bouton "app" (clip)
app._visible=false;
//on remet la variable "ferm" à 0
ferm=0;
}
//sinon, le clip window devient invisible
else{
window._visible=false;
// et on remet aussi "ferm" à zero
ferm=0;
}
}
//état du bouton au roll
app.onRollOver=function(){
app.gotoAndPlay(2);
}
app.onRollOut=function(){
app.gotoAndPlay(1);
}
///////////////////////////////////////////////////////////////////////////////
////////////////////////////Codé par ARTKABIS/////////////////////////////
//////////////////////////////////////////////////////////////////////////////
////////////artkabis©2009-2010||Tout droits réservés||////////////////
Le resultat:
Le tutoriel:
Dernière édition par artkabis le Ven 14 Nov - 19:10, édité 1 fois