canvs를 사용하여 JS에서 간단한 2 차원 게임을 만들고 있습니다.사용자 정의 객체/유형 자바 스크립트
게임은 고블린을 죽이기 위해 돌아 다니는 기사로 이루어져 있습니다. 고블린은 한 번 만진 후, 깡패 위치로 재설정됩니다. 죽은 모든 고블린에게 피를 남기고 싶습니다.
현재 캔버스를 다시 그리기 전에 고블린이 죽은 곳의 이전 X 및 Y 좌표를 사용하여 혈액이 튀는 이미지를 페인트합니다.
모든 고블린을 위해하고 싶습니다. Java와 같은 전통적인 언어에서는 X와 Y의 두 속성을 가진 "blood"와 같은 유형을 정의 할 것입니다.
그러면 고블린의 현재 좌표를 사용하여 매 라운드마다이 유형의 새 인스턴스를 만듭니다. 그런 다음이 유형을 배열에 추가하면 루프하고 배열의 모든 객체를 인쇄합니다.
저는 JS에 상당히 익숙하며 함수형 언어이기 때문에 상황이 조금 다릅니다. 내가 게임의 매 반복마다 배열에 "새로운"수있는 유형을 정확히 정의 할 수 있을까요?
var blood = {
x: 0,
y: 0
};
는 여기에 당신은 함수로 자바 스크립트에서 "클래스"를 만들
'createBlood'에 의해 반환 된 객체에'.splatter' 메소드를 효율적으로 추가 할 수 없기 때문에? ;-) – Alnitak
@Alnitak 그렇지만'.splatter'는 객체의 인스턴스간에 공유되지 않습니다 ... – McGarnagle
그것이 내 포인트였습니다. 프로토 타입에있는 경우 공유되었지만 반환 할 경우 {x :, y : , splatter : function (...)}'그렇지 않을 것입니다. – Alnitak