2016-05-22 2 views
1

Мне было интересно, может ли кто-нибудь помочь мне, я пытаюсь создать функцию столкновения внутри класса Ball. Я застрял, поскольку не знаю, как ссылаться на второй объект шара внутри класса Ball.Функция столкновений внутри класса в ECMAScript6

Любая помощь будет очень ценится наилучшими пожеланиями, Van

class Ball { 

    constructor(bX, bY, bRadius, bcolor, dX, dY) { 
    this.bX = bX; 
    this.bY = bY; 
    this.bRadius = bRadius; 
    this.bcolor = bcolor; 
    this.dX = dX; 
    this.dY = dY; 
    } 

    drawBall() { 
    // 
    } 

    moveBall() { 
    // 
    } 

    bounce() { 
    // 
    } 

    collisions(Ball ball2) { //don't know how to refer to Ball & ball2 
    var deltaX = this.bX - ball2.bX; 
    var deltaY = this.bY - ball2.bY; 
    // .... 
    if (sqDistance <= sqRadius) { 
     alert("going to hit!"); 
    } 
}; 
+1

* «Не знаю, как обращаться к Ball & ball2» * - 'collisions (ball2)' и использовать 'this' как экземпляр« Ball ». – dfsq

+1

В дополнение к этой «декларации типа» в параметре ваш код работает, вы используете 'this' для обозначения одного и' ball2' для обозначения другого шара? – Bergi

+0

Вы уже это делаете ... как упомянули другие, помимо определения типа в вашем методе (который JS не поддерживает), ваш код должен работать ... Когда вы задаете вопрос, вы должны объяснить, что вы ожидается, что произошло, и какие-либо сообщения об ошибках. Непонятно, что вы спрашиваете здесь. –

ответ

0

ES6 не поддерживает тип параметров.

Так что ваш код должен просто опустить Типу collisions(ball2) {

Посмотрите на машинописи, когда вам нужна строгая проверка типов.