begin process at 2010 03 15 10:00:03
  Trouver un code source :
 
dans
 

907 commentaire(s) de top30 sur des sources sur tout CodeS-SourceS

Déposé sur Scroll auto hide

A supprimer...
La pédagogie ne peux justifier le plagiat.
Posté le : 22/02/2010 21:08:47

Déposé sur Super tween package

OOH Le problème...
Les dernières sources de Flashkod sont pathétiques, mais la tiene a le mérite de vouloir réhausser le niveau. Ce qui m'ennuie c'est que je vais devoir critiquer quelque chose qui t'as demandé surement beaucoup de travail et de temps...
Ce que tu as fait n'est ps une "tween" selon le concept courament utilisée en AS3. C'est une simple décélération, et non paramètrable (la décéleration now la tween). Tu n'intègres absolument pas le easing créer par Penner. Ca ne t'aurais pas couter beaucoup plus de travail.
Je suis un peu d'accord avec Peg, ta classe n'as pas l'air bien plus rapide que celle d'Adobe. Alors quel intérèt ?
Je te mettrais 6 (5 pour l'interêt et 7 pour le travail). Désolé !
Posté le : 19/02/2010 19:20:12

Déposé sur Texte lettre par lettre as3

TROP FORT !!!!
Posté le : 17/02/2010 12:23:16

Déposé sur Texte lettre par lettre as3

MAXOUYE: Tes questions me laisse bouche bée...

public static function afficher( $champ:TextField, $texte:String, $lettreParImage:uint=1, $imagesParAjout:uint=5 ):Function{
...
var imagePassee :uint= 0 ;
// Le nombre d'image pour ajuter du texte...

var longueurAffichee :int= 0 ;
// Le nombre de caractère actuellement affiché...

function  aChaqueImage( e:Event):void{
if( ++imagePassee== $imagesParAjout ){
   image= 0 ;
   $champ.text= $texte.substr(0,longueurAffichee) ;
   longueurAffichee+= $lettreParImage ;
   //
   // Si tout est affiché, libérer des écoutes
   if( longueurAffichee>= $texte.length ) libererEcoutes(null);
}
...

Et voilà si ton animation est de 50 images par seconde, tu met 50 !
Et si tu connais pas le frameRate, tu le calcule.
Et si tu veux que ca fasse le café,tu incorpore une cafetière...

= )
Posté le : 17/02/2010 08:19:17

Déposé sur Texte lettre par lettre as3

La vitesse non...
Le nom de lettre nouvelle à chaque image !
Mais là je doute. Le code est de toi ???
Posté le : 16/02/2010 17:34:26

Déposé sur Texte lettre par lettre as3

Pour Peg...

WITH n'est absolument pas une fonction à éviter en AS3.
Au contraire c'est une fonction bien utile. Regardes l'aide:

http://help.adobe.com/fr_FR/AS3LCR/Flash_10.0/statements.html#with

Et tu verras...
; )
Posté le : 16/02/2010 14:20:48

Déposé sur Texte lettre par lettre as3

Tu devrais extériorisé le style du texte et du champ.
C'est indépendant de l'effet. Voici ce que je te conseille:


package
{
    import flash.display.* ;
import flash.text.* ;
import flash.events.* ;

    public class TextDefilant{

public static function afficher( $champ:TextField, $texte:String, $lettreParImage:uint=1 ):Function{
   //
   // Fonction chargée de libérer des écoutes *********************************
function libererEcoutes( e:Event=null ):void{
// Suprime l'ecoute de l'enterFrame...
$champ.removeEventListener( Event.ENTER_FRAME, aChaqueImage );
//
// Suprime l'écoute de libération...
$champ.removeEventListener( Event.REMOVED_FROM_STAGE, libererEcoutes ) ;
}
//*************************************************************************

$champ.addEventListener( Event.REMOVED_FROM_STAGE, libererEcoutes );
// Au cas ou quelque'un supprimerais le champ du stage, avant que l'enterFrame ne s'autosuprime.
// Ainsi tu es sur que si l'anim n'est pas finie, à se supprimer du stage, elle se libérera de l'écoute.

$champ.addEventListener( Event.ENTER_FRAME,  aChaqueImage );
// On lance l'animation à travers l'enterFrame...

var longueurAffichee :int= 0 ;
// Le nombre de caractère actuellement affiché...

// Fonction chargée d'afficher le texte ***********************************
function  aChaqueImage( e:Event):void{
$champ.text= $texte.substr(0,longueurAffichee) ;
longueurAffichee+= $lettreParImage ;
//
// Si tout est affiché, libérer des écoutes
if( longueurAffichee>= $texte.length ) libererEcoutes(null);
}
//*************************************************************************

return libererEcoutes ;
// On retourne la fonction annulant l'affichage et libérant des écoutes.
// Ainsi tu puex VOLONTAIREMENT interrompre l'affichage en cours par éxécution
// de la méthode retournée...
}
    }
}

Comme ca tu n'as pas besoin de créer d'instance.
Tu l'utilise comme ca :

var monChamp :TextField= new TextField();
monChamp.defaultTextFormat= new TextForamt("maPolice",maTaille,maCouleur);
TextDefilant.afficher( monChamp, "LE TEXTE QUE JE SOUHAITE VOIR AFFICHER", 2 ) ;

Et voila !!!
Posté le : 16/02/2010 14:14:27

Déposé sur Navigation dans un fichier xml

Une classe static est unobjet qui ne possède aucune référence interne.
L'usage d'un "this" n'est pas possible.

Qund tu créer une classe si la fonction n'as pas besoin de référence propre à l'objet. C'est a dire qu'elle n'utilise que des référerences externes arguments, variables locales, etc.. Alors il est préférable de la passer en static. Comme dans mon exemple ci-dessus "__aNoeud()".
Posté le : 02/02/2010 02:24:47

Déposé sur Navigation dans un fichier xml

Prend ton ficher.
Ajoute une "ComboBox" à la bibliothèque.
Attribue la classe "Index" à ton fla.

Contenu de la classe "index":

package{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.URLLoader;
    import fl.controls.List;
import fl.controls.Button;
import fl.controls.ComboBox;
    import fl.data.DataProvider;
//

public class Index
extends Sprite
{

private var __playList :XML = new XML();
private var __conteneur : Sprite = new Sprite;
private var __filtresCB : ComboBox = new ComboBox;
private var __choixCB : ComboBox = new ComboBox;
private var __trackList : List = new List();

public function Index():void{
//
// Pas besoin de garder le loader, ca utilise de la mémore pour rien...
var loader :URLLoader= new URLLoader();
loader.load(new URLRequest("xml/liste.xml"));
loader.addEventListener(Event.COMPLETE, __analyseData );
//
// Liste des filtres..-.
var dpCB :XML= <filtres>
<item><label>Catégorie</label><data>category</data></item>
<item><label>Artiste</label><data>artist</data></item>
<item><label>Album</label><data>album</data></item>
<item><label>Titre</label><data>title</data></item>
<item><label>Année</label><data>year</data></item>
</filtres> ;
//
__filtresCB.setSize(150,22);
__filtresCB.dataProvider= new DataProvider(dpCB);
__filtresCB.prompt= "Voir par..."
__filtresCB.rowCount= 20 ;
__filtresCB.addEventListener(Event.CHANGE,__montrerFiltres );
__conteneur.addChild(__filtresCB );

__trackList.y= 50 ;
__trackList.setSize(150,200) ;
__conteneur.addChild(__trackList ) ;

__choixCB.y= 25 ;
__choixCB.setSize(150,22) ;
__choixCB.rowCount= 20 ;
__choixCB.addEventListener(Event.CHANGE,__montrerChoix );
}
//

private function __analyseData( eventObj:Event ):void {
__playList= new XML(eventObj.currentTarget.data);
addChild(__conteneur ) ;
}
//

private function __montrerFiltres( $e:Event ):void{
__trackList.dataProvider= new DataProvider();
// Vide la liste actuelle...

var filtre :String= $e.target.selectedItem.data ;
// Le filtre choissi par l'utilisateur...

var liste :XMLList ;
var tableau :Array= [] ;
var value :String ;
var child :XML ;
var track :XML ;

// Pour tous les noeuds "track" de la liste...
for each( track in __playList.track )
{
// La liste des noeuds ayant le nom demandé (filtre)...
liste= track[filtre].children();

// Pour chaque noeud de la liste (au sein de track)
// On vérifie qu'il se soit pas déjà dans le tableau
for each( child in liste )
{
// SI N'EST PAS DANS LA LISTE L'AJOUTER:
// Utilisé un "string" et non un XML, car sinon Flash considera
// chaque XMl comme différent même si leur contenu est absolument identique...
value= child ;
if( tableau.indexOf(value)==-1 ) tableau.push(value);
}
}
__choixCB.dataProvider= __tableauEnProvider(tableau);
if(__choixCB.stage==null ) __conteneur.addChild(__choixCB ) ;
}
//

private function __montrerChoix( $e:Event ):void{
var filtre :String= __filtresCB.selectedItem.data ;
var choix :String= $e.target.selectedItem.data ;
// On recommence mais avec le nouveau choix et sans enlever les doubles
// Car on souhaite voir TOUTES les chansons du même filtre...

var selection :XML= <selection/> ;
var tableau :Array= [] ;
var value :String ;
var child :XML ;
var track :XML ;

// Pour tous les noeuds "track" de la lite...
for each( track in __playList.track )
{
// La liste des noeuds ayant le nom demandé (filtre)...
if( __aNoeud(track,filtre,choix) ) selection.appendChild( track.copy() );
}
__trackList.dataProvider= __listeEnProvider( selection.track ) ;
}
//

private static function __tableauEnProvider( tableau:Array ):DataProvider{
var element :String ;
var dp :DataProvider= new DataProvider() ;
for each( element in tableau ) dp.addItem( {label:element,data:element} );
return dp ;
}
//

private static function __listeEnProvider( liste:XMLList ):DataProvider{
var element :XML ;
var dp :DataProvider= new DataProvider() ;
for each( element in liste ){
trace( element );
dp.addItem( {label:element.title,data:element} );
}
return dp ;
}
//

private static function __aNoeud( track:XML, name:String, value:String ):Boolean{
var liste :XMLList= track.child(name);
if( liste.length()==0 ) return false ;
//
var noeud :XML ;
for each( noeud in liste ) if ( noeud.text()[0]==value) return true ;
return false ;
}
}
}
Et voila...
Posté le : 01/02/2010 21:40:31

Déposé sur Navigation dans un fichier xml

OOOOHH !

Alors on va commencer par le XML.
Trop fouilli. Ta liste est classée par genre.
Si je veux classer par titre ou auteur comment fera-tu ??? Réécrire l'XML ???
Le XML en AS3, c'est PLUS que simple, c'est enfantin regarde:

1/ L'XML:
<?xml version="1.0" encoding="UTF-8"?>
<playlist>
<track>
<category>jazz</category>
<category>pop-rock</category>
<album>The Kicker</album>
<author>Bobby Hutcherson</author>
<title>The Kicker zik</title>
<cover>zik/image/illus0.jpg</cover>
<url>zik/zik0.mp3</url>
<description>Jazz cool. Vive le vibraphone !</description>
</track>
<track>
<category>jazz</category>
<category>blues</category>
<album>Point of View</album>
<author>Dave Hollande</author>
<title>The Balance</title>
<cover>zik/image/illus3.jpg</cover>
<url>zik/zik3.mp3</url>
<description>Du vrai, du bon, de la composition comme on aimerait en voir plus souvent</description>
</track>
<track>
<category>pop-rock</category>
<category>blues</category>
<album>Point of View</album>
<author>Dave Hollande</author>
<title>The Balance</title>
<cover>zik/image/illus3.jpg</cover>
<url>zik/zik3.mp3</url>
<description>Du vrai, du bon, de la composition comme on aimerait en voir plus souvent</description>
</track>
<track>
<category>jazz</category>
<category>blues</category>
<category>pop-rock</category>
<album>Point of View</album>
<author>Dave Hollande</author>
<title>Serenade</title>
<cover>zik/image/illus4.jpg</cover>
<url>zik/zik3.mp3</url>
<description>Et de la vrai balade</description>
</track>
<track>
<category>pop-rock</category>
<album>Across The Universe Of Languages</album>
<author>Be for bang</author>
<author>Beattles</author>
<title>Come together</title>
<cover>zik/image/illus1.jpg</cover>
<url>zik/zik0.mp3</url>
<description>Une reprise des Beatles</description>
</track>
<track>
<category>pop-rock</category>
<album>Catch</album>
<author>Meshuggah</author>
<title>Greed</title>
<cover>zik/image/illus2.jpg</cover>
<url>zik/zik2.mp3</url>
<description>Pour se défouler</description>
</track>
</playlist>

Tu remarqueras que un "track" peut avoir plusieurs genre, comme plusieurs si nécessaire.
Posté le : 01/02/2010 18:15:52



Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,328 sec (4)

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