xxxxxxxxxx
168
/*
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/Ylet-c4qh/';
// Video
let video;
let flippedVideo;
// To store the classification
let label = "";
// Load the model first
function preload() {
classifier = ml5.imageClassifier(imageModelURL + 'model.json');
}
let capture;
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();
image(capture, 320 / 2, 240 / 2, 320, 240);
fill(255);
textSize(16);
textAlign(CENTER);
text(label, width / 2, height - 4);
frameRate(10);
}
function classifyVideo() {
flippedVideo = ml5.flipImage(capture);
classifier.classify(flippedVideo, gotResult);
}
function gotResult(error, results) {
if (error) {
console.error(error);
return;
}
label = results[0].label;
if (palya_vege.mt == false) {
if (label === 'right') {
if (jatekos.guggolas == false) {
jatekos.jobbra = true;
loves.i = "j";
}
} else {
jatekos.jobbra = false;
}
if (label === 'left') {
if (jatekos.guggolas == false) {
jatekos.balra = true;
loves.i = "b";
}
} else {
jatekos.balra = false;
}
if (label === 'jump') {
if (jatekos.zuhanas == false) {
jatekos.ugras = true;
}
} else {
}
if (label === 'neutral') {
} else {
}
}
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;
}
}
}
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);
}