I am making a game in javascript, and I'm using making a class to hold all the sprites. However when I try to run it, safari gives me "SyntaxError: Unexpected use of reserved word 'class'". I can't find a reason it should be doing this. Below is my code:
var spritesContext;
//Sprite class
class sprite{
constructor(imageName, imageX, imageY, imageHeight, imageWidth, context, canvas){
this.imageName = imageName;
this.imageX = imageX;
this.imageY = imageY;
this.imageHeight = imageHeight;
this.imageWidth = imageWidth;
this.canvas = canvas;
this.context = context;
spritesContext = context;
console.log("Sprite constructed");
}
draw(){
var character = new Image();
character.src = "../Images/" + this.imageName + ".png";
character.onload = function(){
spritesContext.drawImage(character, this.imageX, this.imageY, this.imageWidth, this.imageHeight);
console.log("Inner Draw is working.");
}
console.log("Draw is working.");
}
function getHeight(){
return this.imageHeight;
}
function getWidth(){
return this.imageWidth;
}
function getX(){
return this.imageX;
}
function getY(){
return this.imageY;
}
function moveUpX(e){
this.imageX = (this.imageX + e);
}
function moveUpY(e){
this.imageY = (this.imageY + e);
}
function moveBackX(e){
this.imageX = (this.imageX - e);
}
function moveBackY(e){
this.imageY = (this.imageY - e);
}
function changeImage(e){
this.imageName = e;
}
function getImage(){
return this.imageName;
}
function changeX(e){
this.imageX = e;
}
function changeY(e){
this.imageY = e;
}
}
