1 013
modifications
Modifications
Run 2000
,aucun résumé de modification
Enfin, dernière interaction, il y a deux fentes sur une face du cube dans lequel l'utilisateur peut passer une lame pour couper horizontalement ou verticalement la vidéo.
Dans cette expérience, c'est l'humain qui interagit directement avec son corps et ses mouvements.
== '''Le cube''' ==
==== -Mise en aléatoire des vidéos ====
int dernier;
int encours;
int num_movies = 8;
import processing.video.*;
import processing.sound.*;
import http.requests.*;
SoundFile file;
Movie m1, m2, m3;
Movie[] movies = new Movie[num_movies];
Movie currentMovie;
int time =0;
void setup() {
//On met la fenetre à la taille de l'écran
size(displayWidth, displayHeight);
//On importe le fichier
file = new SoundFile(this, "Moderat.wav");
file.loop();
//On met la musique en boucle
for (int i = 0; i < movies.length; i++) {
movies[i] = new Movie(this, nf(i, 2, 0)+".mov");
//On installe une sélection aléatoire des vidéos (qui vont de 00.mov à 07.mov)
}
encours = 0;
dernier = encours;
currentMovie = movies[encours];
currentMovie.play();
}
void draw() {
if (millis() >= time + currentMovie.duration()*1000) {
dernier = encours;
encours = nouveau(dernier);
currentMovie.stop();
time = millis();
currentMovie = movies[encours];
}
//La vidéo qui se lance sera toujours différente de la précédente mais ne se lancera que lorque que la précedente sera finie
currentMovie.play();
image(currentMovie, 0, 0, width, height);
}
int nouveau(int dernier) {
boolean ok = false;
int r = dernier;
while (!ok) {
r = int(random(num_movies));
println(r);
if (r != dernier) {
ok = true;
dernier = r;
}
}
println("-");
return r;
}
void movieEvent(Movie m) {
m.read();
//On lit la vidéo
}
==== -Inversion des couleurs pour le capteur lumière ====