ERYPIANO V2.03 CS4 AS3

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 7 déc. 2010 à 18:54
VBtoTRASH Messages postés 59 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 31 mars 2011 - 5 janv. 2011 à 08:12
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/52579-erypiano-v2-03-cs4-as3

VBtoTRASH Messages postés 59 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 31 mars 2011
5 janv. 2011 à 08:12
@Top30:

Salut,

ErySoft n'a aucune prétention, et n'existe pas pour se faire du pognon. Je mets à disposition des idées, et des connaissances qui me sont acquises ... sans plus.

Pour en revenir à la POO, je suis désolé, mais quand j'étais en IUT GE, les premiers ordinateurs étaient considérés comme des boites mystérieuses. J'ai donc commencé "la programmation" avec des instructions allant de 0x00 à 0xFF, voir avec les 16 instructions du MC14500, le premier ICU de Motorola qui tourne encore sur certaines machines. De ce fait, on se forge une philosophie de codage bien différente de celle d'aujourd'hui.

Je prends bonne note de tout ce que tu m'as dit, et je vais donc essayé de penser en POO pour la prochaine version. Merci d'avoir fait évoluer ton clavier, je pourrai ainsi avoir une bonne base de départ.

A plus

Eryc
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
4 janv. 2011 à 20:50
J'ai modifier ma source pour qu'elle puisse réagir au touches du clavier. Comme un piano !
Mais c'est juste du vite fait.. Pour te monter, faut pas déconner quand même !
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
4 janv. 2011 à 19:40
Ma source n'avait QUE le but de t'aider. Ni de refaire ton taf, ni de le copier.
Moi perso je serais pas passer par un sous clip "octave"...

C'est juste pour te montrer que Peg a raison. Tu utilises un language "POO" sans bénéfier réellement de ce qu'il te permettrait d'apporter. Si tu veux un autre exemple, simple: ton "slider" de tiempo et et volume sont absolument identique à part du "label". D'où le besoin d'en créer un génerique dont tu utilises deux instances. Un pour le tiempo et un pour le "volume". Comme ca de facile:

var sliderVolume :MonSlider= new MonSlider("volume");
sliderVolume.addEventListener( "change", onSliderChange );
addChild( sliderVolume );

var sliderTiempo :MonSlider= new MonSlider("tiempo");
sliderTiempo .addEventListener( "change", onSliderChange );
addChild( sliderTiempo );

private function onSliderChange( $e:Event ):void{
switch( $e.target ){
// $e.target étant le "slider", et "value" de 1 à 0 selon le slide...
case sliderVolume : this.setVolume( $e.target.value*100 ) ; break ;
case sliderTiempo : this.setTiempo( $e.target.value*120 ) ; break ;
}
}

Tu as le dont, à mon avis de compliquer le simple. Vu que t'as pas encore "piger" les avantages de l'AS3 et l0interface Flash. Par contre tu as aussi de bonne idée, un chargeur XML avec des handlers d'évèment different définit à travers une ID passée à la fonction "load" c'est pas con... Tu regroupes plusieurs instance en une seule, le but de la POO étant l'inverse. En simple:

class MonChargeurXML
{
fonction MonChargeurXML(){
this._loader= new URLLoader();
// Code habituel...
this._loader.addEventListener( "complete", this._parseHandler );
}

function get xml():XML{ return this._xml }
private var _xml :XML ;

function load( $url:String ):void{
this._loader.load($url);
}

function parseXML():void{
throw new Error("Sans étendre la classe, ne fera rien que de jeter des erreurs");
}

private function _parseHandler( $e:Event ):void{
this._xml= new XML($e.target.data);
this.parseXML();
}
}

class MaConfigXML
extends MonChargeurXML
{
public function MaConfigXML(){};

public override function parseXML():void{
// Faire ce que tu veux avec to XML
trace( this.xml );
}
}

class MaPartitionXML
extends MonChargeurXML
{
public function MaPartitionXML(){};

public override function parseXML():void{
// Faire ce que tu veux avec to XML
trace( this.xml );
}
}

Ca c'est de la POO...
Tu devrais essayer de revoir ta source car je pense que l'idée est bonne et que tu as un bon niveau.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
4 janv. 2011 à 13:51
http://www.flashkod.com/codes/CONCEPT-BASE-POO_52678.aspx
Une petite démo faut mieux qu'un long discours.

Je prendrais le temps de t'écrire plus tard...
VBtoTRASH Messages postés 59 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 31 mars 2011
19 déc. 2010 à 18:12
En effet, cet outil ma parait passionnant. J'ai commencé à regarder tes sources, et on peut dire que la syntaxe est soignée ... mais double bémol, j'ai une sainte horreur de l'angliche ! Premièrement, parce que les Angliches nous cassent les noisettes depuis la nuit des temps, et qu'ils nous ont cramé Jeanne d'Arc ... et que j'ai fait Allemand en première et dernière langue. Même si c'est Américain, çà ne change rien !

J'ai testé ce que je t'avais dit précédemment, et cela ne change rien. Le fait de couper le décodage mp3, quand l'amplitude du signal est élevée, génère un "clic" désagréable. J'ai bien essayé de modifier le son par SoundTransform, mais le temps de réaction est trop lent, donc inefficace.

Demain il fera jour !
Afficher les 51 commentaires