Lua,Love2d,두 게임과 같은 클래스 이름을 다른 폴더에

0

질문

나는 새로운 Lua 및 Love2D,I did2-3 간단한 게임과 함께 넣어. 나는 창이 선택하고 싶은 게임을 재생합니다. 그것은 성공과 약간의 문제입니다. 두 나의 게임을 사용하여 볼 수 있습니다. 그래서 모두 볼 수 있습니다.lua 파일입니다. 내가 사용하여 필요한 기능을 로드하는 공 파일에서 각각의 게임이다. 그것은 작품에서는 첫째로,저는 재생할 수 있습 Game1,가 Game2 없이 문제입니다. 하지만 만약 내가 다시 가고 싶은 플레이 Game1again. 자신의 공입니다.lua 파일이기 때문에 요구되지 않을 필요로 한다. 다른 오류가 발생한 이후 내 game1 사용하려고 시도하는 내 Game2 의 공 클래스입니다.

나는 알고 싶어하는 솔루션이 최고의 것:

  1. 다만 파일 이름을 변경. (나는 그것을 피하고,느끼 하드 코딩을 나)
  2. 사용 doFile. (나는 그것을 사용하지 마십시오,나는 알지도 못하는 경우 그것은 일)
  3. 필요한 두 개의 공의 클래스에서는 내가 메인 메뉴로 매개 변수를 로드할 때 각각의 게임(알지 못하는 경우 그것은 너무 일)

를 보시려면 내가 코드에 대한 자세한 설명은,여기에 대한 링크: https://github.com/cbelangerstpierre/Games/tree/main/Games

사전에 감사합니다!

2d-games file love2d lua
2021-11-23 17:13:24
1

최고의 응답

0

당신이 알고있는, require 만 실행하는 각 파일에 한 번. 그러나 그것은 또한 반환 값을 저장할 파일의 수 있도록 당신 require 파일로 많은 시간으로 당신이 원하고 여전히 동일한 값입니다.

Ball.lua 파일을 만들의 Ball 선언이 지역:

local Ball = Class{}

다음의 맨 아래에서 해당 파일을 추가합니다:

return Ball

그런 다음,변경 main.lua 파일을 저장소의 글로벌 Ball 변:

Ball = require "Atari-Breakout.Ball"

Ball = require("Switching-Ball.Ball")

이상적으로,그것의 모든 변수 지역 및 반환 테이블에서 파일이 필요하신 require.

2021-11-23 20:50:02

오 좋은 일했다! 덕분에 많이,당신은 말을 사용하는 것이 현지 변수를 대신 합니다. 그러나 내가 이해하지 않는 것을 사용하여 지역 변수다. 다음과 같 당신이 말할 때 나는 공=필요,그렇지 않습니다 글로벌?
Cédric Bélanger-St-Pierre

그렇다,나는 그것을 썼다는 방법은 변화를 최소화하는 당신의 코드입니다. 일반적으로,당신이 무언가를 넣어 같이 local Ball = require "Atari-Breakout.Ball" 상단 근처의 모든 파일을 사용하는 공 클래스입니다. 다음 각 해당 파일의 것 그것의 자신의 지역 변수를 참조하는 동 테이블을 정의하는 클래스 또는 라이브러리입니다.
luther

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................