xxxxxxxxxx
88
// le texte ici
var joinedText = " Anton Voyl n’arrivait pas à dormir. Il alluma. Son Jaz marquait minuit vingt. Il poussa un profond soupir, s’assit dans son lit, s’appuyant sur son polochon. Il prit un roman, il l’ouvrit, il lut. Mais il n’y saisissait qu’un imbroglio confus, il butait à tout instant sur un mot dont il ignorait la signification. Il abandonna son roman sur son lit. Il alla à son lavabo; il mouilla un gant qu’il passa sur son front, sur son cou. Son pouls battait trop fort. Il avait chaud. Il ouvrit son vasistas, scruta la nuit. Il faisait doux. Un bruit indistinct montait du faubourg. Un carillon, plus lourd qu’un glas, plus sourd qu’un tocsin, plus profond qu’un bourdon, non loin, sonna trois coups. Du canal Saint-Martin, un clapotis plaintif signalait un chaland qui passait. Sur l’abattant du vasistas, un animal au thorax indigo, à l’aiguillon safran, ni un cafard, ni un charançon, mais plutôt un artison, s’avançait, traînant un brin d’alfa. Il s’approcha, voulant l’aplatir d’un coup vif, mais l’animal prit son vol, disparaissant dans la nuit avant qu’il ait pu l’assaillir." ;
var charSet;
var drawLetters = [];
var posX;
var posY;
var ultra;
var playing = false;
function preload() {
// ajouter le son dans la variable
// le mp3 doit avoir était prélablement envoyé dans la colonne de gauche en appuyant sur la flèche puis upload file
ultra = loadSound("ultra.mp3");
}
function setup() {
createCanvas(800, 800);
ultra.loop();
// définir la typo et la taille de la typo
textFont('avenir', 18);
fill (160);
charSet = getUniqCharacters();
for (var i = 0; i < charSet.length; i++) {
drawLetters[i] = true;
}
}
function draw() {
background(30);
var vol = map(mouseX, 0, width, 1, 0);
ultra.amp(vol);
vol = constrain(vol, 0, 1);
translate(90, 20);
noStroke();
posX = 0;
posY = 50;
var oldX = 0;
var oldY = 0;
var sortPositionsX = [];
var oldPositionsX = [];
var oldPositionsY = [];
for (var i = 0; i < joinedText.length; i++) {
sortPositionsX[i] = 0;
oldPositionsX[i] = 0;
oldPositionsY[i] = 0;
}
for (var i = 0; i < joinedText.length; i++) {
var upperCaseChar = joinedText.charAt(i).toUpperCase();
var index = charSet.indexOf(upperCaseChar);
if (index < 0) continue;
// le code qui fait vibrer les lettres est ci-dessous
// changer le chiffre 100 pour faire plus ou moins vibrer les lettres
var mx = mouseX/100;
var valeurA = random(-mx, mx);
var valeurB = random(-mx, mx);
text(joinedText.charAt(i), posX+valeurA, posY-valeurB);
sortPositionsX[index] += textWidth(joinedText.charAt(i));
posX += textWidth(joinedText.charAt(i));
if (posX >= width - 200 && upperCaseChar == ' ') {
// changer le chiffre 30 pour modifier l'interlignage
posY += 35;
posX = 0;
}
}
}
function getUniqCharacters() {
var charsArray = joinedText.toUpperCase().split('');
var uniqCharsArray = charsArray.filter(function(char, index) {
return charsArray.indexOf(char) == index;
}).sort();
return uniqCharsArray.join('');
}