Beat box version 1

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 227 fois - Téléchargée 17 fois

Contenu du snippet

c'est une sorte de boite à rythme inspirée de logiciels comme Reason ou Cubase. J'ai créé 3 pistes de batterie avec un son par piste, on place des petites boules sur la "timeline" comme on le ferait en midi. Ca promet des heures d'amusement pour les musiciens et des heures de prise de tête pour les autres : et oui, la musique, c'est pas si facile.

vous trouverez la source à cette adresse :
http://www.3box.biz/dev/beatbox_.zip

Source / Exemple :


var son:Sound = new Sound();
son.attachSound("son"+numeroLigne);
var quantitePerc:Number = 0;

//clicabilité des percs
function defClics() {
	for (i=1; i<=quantitePerc; i++) {
		//
		this["perc_"+i].onPress = function() {
			this["clic"+i] = true;
			ybase = _ymouse;
			this.onMouseMove = function() {
				if (this["clic"+i]) {
					if (Math.abs(_ymouse-ybase)>=30 || _xmouse>=600 || _xmouse<=90) {
						this.gotoAndStop("poubelle");
					} else {
						this.gotoAndStop(1);
						this._x = (_xmouse+((_global.memoireTempo*4)-(_xmouse%(_global.memoireTempo*4))));
					}
				}
			};
		};
		this["perc_"+i].onRelease = function() {
			this["clic"+i] = false;
			replacement();
		};
		this["perc_"+i].onReleaseOutside = function() {
			//je vire le clip
			if (Math.abs(_ymouse-ybase)>=30) {
				this.removeMovieClip();
				defClic();
			}
			this["clic"+i] = false;
			replacement();
		};
	}
}
defClics();

//placement des perc pour quelles soient dans le _global.Tempo
function replacement() {
	for (i=1; i<=quantitePerc; i++) {
		this["vperc"+i] = this["perc_"+i]._x;
		this["positionTempo"+i] = (this["vperc"+i]+(_global.memoireTempo-(this["vperc"+i]%_global.memoireTempo)));
	}
}
replacement();

//ajout de perc
function ajoutPerc() {
	quantitePerc++;
	perc0.duplicateMovieClip(["perc_"+quantitePerc],quantitePerc);
	this["perc_"+quantitePerc]._x = (_xmouse+((_global.memoireTempo*4)-(_xmouse%(_global.memoireTempo*4))));
	this["perc_"+quantitePerc]._y = perc0._y;
	trace(this["perc_"+quantitePerc]._x);
	defClics();
	replacement();
}

//on press
ligne.onPress = function() {
	ajoutPerc();
};

this.onEnterFrame = function() {

	//déplacement
	if (pointeur._x<=604) {
		pointeur._x += _global.Tempo;
	} else {
		pointeur._x = 100;
	}
	//lancements des sons
	if (_global.Tempo != 0) {
		for (i=1; i<=quantitePerc; i++) {
			if (pointeur._x == this["positionTempo"+i]) {
				pointeur.gotoAndPlay("son");
				son.start();
			}
		}
	}
};

Conclusion :


Dès que j'ai du temps, je passe à la v2 avec le choix des son et l'ajout de nouvelles pistes. Et puis tant qu'on y est un module d'enregistrement mais ça risque de prendre plus de temps si faut que je me lance dans le php.

A voir également

Ajouter un commentaire

Commentaires

hoehnf
Messages postés
1
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
8 septembre 2011
-
Bonjour,
Je trouve cette source super intéressante. L'idée de créer un module d'enregistrement est géniale, mais l'avez-vous finalement développé ?

Bonne continuation.
choinet
Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
3 novembre 2008
-
Je ne sais pas trop quoi faire, j'ai flash CS3 et je ne peux enregistrer qu'en MX2004 minimum.
Procure-toi une version plus récente de flash.
jak645
Messages postés
31
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
4 juin 2013
-
jai flash8 mais ils dise que le forma nes pas valide ya tu quelle qun qui a une patch toute forma
choinet
Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
3 novembre 2008
-
Merci, je bosse sur la v2 mais a petite dose...c'est les vacances et je ne me laisse pas beaucoup de temps pour coder. En même temps je préfère ça.
nepi
Messages postés
87
Date d'inscription
dimanche 13 juin 2004
Statut
Membre
Dernière intervention
30 décembre 2007
-
Hey =)

C'est vraiment sympa et original ça ^^
Faudrait essayer une sorte d'Ejay en flash :p

Bonne continuation,
Florian.

Note: 9/10

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.