OOP에 대한 정확한 정보를 얻기가 어렵습니다. 가능한 한 짧게하려고했습니다.Javascript object interaction (OOP)
현재 HTML5에서 점프 n을 개발 중입니다. 게임 개발에 대한 실제 경험이 없습니다. 하지만 기본이 어떻게 작동하는지 알고 있습니다. 내가 제대로하고 있는지 알고 싶다.
게임, 플레이어 및 레벨 개체가 있습니다.
내가 현재하고 있어요 것은 다음
Game.player = new Player();
Game.level = new Level();
Game.level.load(Game.currentLevel);
...
Game.run();
는 가장 좋은 방법은 내가 예를 들어, 자신에 그들 모두를 호출해야 또는인가요 : 그들은 방법 난
var Player = new Player();
var Level = new Level();
Level.load(Game.currentLevel);
...
Game.run();
지금 당장 (첫 번째) 그것을하는 것이 나에게 더 많은 논리처럼 보입니다. 하지만 .. 레벨 개체 함수에서 게임 개체의 다양한 변수를 확인하거나 자체 함수를 호출해야합니다. 따라서 Level 객체 함수 내에 Game.level.funcName을 써야합니다. 그러나 Game.level은 레벨 객체 선언 지점에 실제로 존재하지 않으므로 다소 틀리고 더러운 것으로 느껴집니다. 여기에 또 다른 예입니다
Level.prototype.reset = function() {
this.load(Game.currentLevel);
};
Game.currentLevel는 하드 코드는 현재 게임 오브젝트를 처리하는 변수를 감지 할 수있는 더 좋은 방법이 아니거나 내가 그 일을 해요 방법은 완전히 괜찮아?
그래서 기본적인 질문은 개체가 서로 상호 작용할 수있는 가장 좋은 방법입니다.
그리고 마지막으로 한 가지 질문은 좀 어색하지만,()(); 해야 할 것? 나는 가끔이 같은 사용에 beeing 참조 : 당신은 당신의 시간과 답변에 대한 감사 내 문제를 이해 바랍니다
(function() {
// Content
});
합니다. :)
질문을 나누어야합니다. 하나만 대답하는 것은 어렵습니다. 그것이 말했다. 마지막 질문에; 그것은 자기 호출 람다 (self-calling lambda)입니다. 즉, 파싱되는 순간 항상 실행됩니다. 일반적으로 함수를 정의하는 경우 별도로 호출해야합니다. –