xxxxxxxxxx
165
/*
libmario is derived from https://www.youtube.com/watch?v=Z57hx4ey5RY
by ArtCode_ https://www.youtube.com/channel/UCYTP0Gbjq9xHyssfxBrLSGg
His naming style is written in Italian.
*/
// Classifier Variable
let classifier;
// Model URL
let imageModelURL = 'https://teachablemachine.withgoogle.com/models/o-LM7Nk_G/';
// Video
let video;
let flippedVideo;
// To store the classification
let label = "";
// Load the model first
function preload() {
classifier = ml5.imageClassifier(imageModelURL + 'model.json');
}
function setup() {
createCanvas(705, 607.5);
textFont('monospace')
angleMode(DEGREES);
rectMode(CENTER);
imageMode(CENTER);
setupMario();
capture = createCapture(VIDEO);
capture.size(320, 240);
capture.hide();
flippedVideo = ml5.flipImage(capture)
// Start classifying
classifyVideo();
}
function draw() {
drawMario();
// if your camera is 4:3, use 320x240
image(capture, 320 / 2, 240 / 2, 320, 240);
// Draw the label
fill(255);
textSize(16);
textAlign(CENTER);
text(label, width / 2, height - 4);
}
// Get a prediction for the current video frame
function classifyVideo() {
flippedVideo = ml5.flipImage(capture)
classifier.classify(flippedVideo, gotResult);
}
// When we get a result
function gotResult(error, results) {
// If there is an error
if (error) {
console.error(error);
return;
}
// The results are in an array ordered by confidence.
// console.log(results[0]);
label = results[0].label;
if (results[0].label === 'left') {
jatekos.balra = true;
loves.i = "b";
} else {
jatekos.balra = false;
}
if (results[0].label === 'right') {
jatekos.jobbra = true;
loves.i = "j";
} else {
jatekos.jobbra = false;
}
if (results[0].label === 'jump') {
if (jatekos.zuhanas == false) {
jatekos.ugras = true;
}
} else {
jatekos.zuhanas = false;
}
// Classifiy again!
classifyVideo();
}
function keyPressed() {
if (palya_vege.mt == false) {
// move to left
if ((key == "a") && jatekos.guggolas == false) {
jatekos.balra = true;
loves.i = "b";
}
// move to right
if ((key == "d") && jatekos.guggolas == false) {
jatekos.jobbra = true;
loves.i = "j";
}
// crouch
if (key == "s") {
jatekos.guggolas = true;
}
// jump
if (key == "w") {
if (jatekos.zuhanas == false) {
jatekos.ugras = true;
}
}
// Fire ball!!!!
if (key == "f") {
loves.e = true;
}
}
if(key == ' '){
setupMario();
}
}
function keyReleased() {
if (key == "a") {
jatekos.balra = false;
}
if (key == "d") {
jatekos.jobbra = false;
}
if (key == "s") {
jatekos.guggolas = false;
}
if (key == "f") {
loves.e = false;
}
key = "";
}
function mousePressed() {
jatekos.x = mouseX;
jatekos.y = mouseY;
print(mouseX);
print(mouseY);
}