     }
     convenience init(_ sprite: SKSpriteNode){
         self.init(sprite, sprite.size, sprite.position, 0, CGPoint.zeroPoint, nil);
+    }
+    
+    convenience init(texture: SKTexture, size: CGSize, pos: CGPoint, speed: CGFloat, dir: CGPoint){
+        self.init(texture: texture, size, pos, speed, dir, nil);
+    }
+    convenience init(texture: SKTexture, size: CGSize, pos: CGPoint){
+        self.init(texture: texture, size, pos, 0, CGPoint.zeroPoint, nil);
+    }
+    convenience init(texture: SKTexture, size: CGSize){
+        self.init(texture: texture, size, CGPoint.zeroPoint, 0, CGPoint.zeroPoint, nil);
+    }
+    convenience init(texture: SKTexture){
+        self.init(texture: texture, texture.size(), CGPoint.zeroPoint, 0, CGPoint.zeroPoint, nil);
     }
     
     //Methods

    get{return sprite.position}
    set(newValue){sprite.position = newValue}
    }
    var x: CGFloat{
    get{return sprite.position.x}
    set{sprite.position.x = newValue}

class GameObject{
    //Declarations
    let sprite : SKSpriteNode;
    var name : String = "";
    
    var size: CGSize{
    get{return sprite.size;}
