함수가 들어있는 작업 영역에 스크립트 파일이 포함되어 있습니다. 나는이 함수를 Workspace의 자식 객체에 임베드 된 스크립트 파일에서 호출하려고한다. 나는이 기능을 여러 스크립트 파일에 복사하여 붙여 넣기를하고 싶지 않습니다. 객체 지향 접근법이 가능하다면 최선이라고 생각했습니다.Roblox의 다른 스크립트 파일에서 함수를 호출하는 방법
답변
jediknightkrazy에 의해 작성된 Exposing public functions에서이 튜토리얼에서 찾고있는 것을 찾았습니다.
전역 기능을 만들 수 있습니다. 한 스크립트에서이 작업을 수행 : 다른 스크립트에서
_G.myFunction = function() print("Hello World") end
이 수행
repeat wait() until myFunction myFunction()
을하는 함수를 정의하여 스크립트 기능을 할당 실행하기 위해 당신은 기다려야합니다 _G되어, 당신은 함수를 호출 할 수 있습니다 _G를 지정하지 않아도.
'이제는 _G를 지정하지 않아도 함수를 호출 할 수 있습니다. – ZombieSpy
전역 기능을 만들 수 있습니다. 한 스크립트에서이 수행 다른 스크립트에서
_G.myFunction = function() print("Hello World") end
을이 수행하는 함수를 정의하여
repeat wait() until myFunction myFunction()
은 당신이 할 수있는 스크립트 함수를 할당 을 실행하기 위해 당신이 기다려야합니다 _G한다 _G를 지정하지 않고도 함수를 호출하십시오.
ROBLOX 업데이트로 인해 내부 항목에 액세스 할 때마다 _G를 인덱싱해야하므로이 기능은 작동하지 않습니다.
위에서 언급 한 것처럼 ROBLOX에서도 dofile()을 사용할 수 없습니다.
질문에 대한 답변 : _G.MyFunction = function (parameters) end를 추가하여 전역 테이블 _G에 하나의 스크립트로 함수를 작성해야합니다. 다른 스크립트에서는 _G 테이블 내부에서 _G.MyFunction()에 액세스해야합니다.
ROBLOX 스크립터에 나타나는 일반적인 문제는 _G가 생성되기 전에 해당 함수에 액세스하려고한다는 것입니다. 이 문제를 해결하는 간단한 방법은 Camoy의 게시물에서 제안한대로 기다림을 추가하는 것입니다.
repeat wait() until _G.MyFunction()
희망이 있습니다. -pighead10
이름이 약 100 픽셀 오른쪽에 표시되므로 스택 오버플로에 대한 서명을 게시하지 마십시오. –
가장 간단한 방법은 _G를 사용하거나 공유하는 것입니다. 이 코드를 사용하는 것이 다른 스크립트에서 end
-- blah
_G.myFunction = function(Arguments)
.
repeat wait() until _G.myFunction ~= nil
_G.myFunction()
이 대신 _G의 공유 글로벌 테이블로 작업 할
.이전에 말했듯이 정상적인 _G를 사용하거나 액세스하려면 공유하고 있습니다.
스크립트 하나
_G.myFunction = function()
print("Hello, myFunction!")
end
스크립트 두
repeat wait() until _G.myFunction()
_G.myFunction()
출력
안녕하세요, myFunction이!
글로벌 허용 가능 테이블 도 사용할 수 있습니다. 공유는 _G와 같은 방식으로 사용되지만 _G와 달리 변수 식별자 앞에 "공유"를 지정해야합니다.
은 _G
(not anymore in ROBLOX)없이 변수 이름을 쓸 수 있습니다. Shared는 다음 컨텍스트에서 사용됩니다.
shared["variablename"] = value
글로벌 스택과 마찬가지로 _G. 공유의 사용 예제 :
스크립트 1
shared["rprint"] = function(array) for i,v in pairs(array) do print(i, v) end end
스크립트 2
repeat wait() until shared["rprint"]
shared.rprint({"Hello, ", "How", " are", " you?"})
이 스크립트의 출력은 "안녕하세요, 어떻게 지내?"가 될 것입니다
RoboX Scripting API에서 _G 변수로 선정되었습니다.이 대답은 이제 스크립트간에 '공유'하는 데 사용되는 테이블을 보여줍니다. – Nic
좋습니다. 다른 방법이 없을 때 사람들이 공유에 대해 알아야합니다. – blacksmithgu
'shared.rprint'도 스크립트 1에서 작동합니다. – lhf
BindableEvents 또는 RemoteEvents를 사용합니다. 나는 이것이 _G를 사용하는 것보다 더 나은 접근이라고 생각한다. 이렇게하면 모든 것을 로컬로 유지할 수 있습니다. Bindableevents 및 RemoteEvents를 사용하여 함수를 트리거하고 스크립트간에 앞뒤로 필요한만큼 데이터를 보낼 수 있습니다. 서버/서버 통신에는 BindableEvent를 사용하고 서버/클라이언트 - 클라이언트/서버 통신에는 RemoteEvents를 사용하십시오.
http://wiki.roblox.com/index.php?title=API:Class/BindableEvent
당신은 고맙게도 추가 된 모듈 스크립트를 사용할 수 있습니다. 그곳에 기능을 넣은 다음 다른 곳으로 전화하여 사용할 수 있습니다!
- 1. 자바 스크립트 함수를 호출하는 방법
- 2. 레일 3 : js.erb 파일에서 자바 스크립트 함수를 호출하는 방법
- 3. javax 스크립트 Java에서 JavaScript의 함수를 호출하는 방법
- 4. 함수를 호출하는 방법
- 5. iphone - 다른 파일에서 구조체를 호출하는 방법
- 6. 자바 스크립트 함수를 호출 할 때 gwt 함수를 호출하는 방법
- 7. 다른 창에서 공용 서브 함수를 호출하는 방법
- 8. 다른 정적 함수에서 정적 함수를 호출하는 방법
- 9. 다른 클래스의 한 클래스에서 함수를 호출하는 방법
- 10. 다른 플러그인에서 jquery 플러그인 함수를 호출하는 방법
- 11. bool 함수를 호출하는 방법
- 12. MFC에서 Javascript 함수를 호출하는 방법?
- 13. 함수를 자동으로 호출하는 방법?
- 14. PHP 함수를 호출하는 방법?
- 15. 함수를 호출하는 다른 방법은 무엇입니까?
- 16. 페이지에서 자바 스크립트 AJAX 함수를 호출하는 메소드
- 17. PyQT에서 javascript 함수를 호출하는 방법
- 18. 프로그래밍 방식으로 다른 클래스의 한 클래스의 함수를 호출하는 방법
- 19. 자바 스크립트 함수를 호출하는 방법을 이해해야합니다.
- 20. 다른 자바 스크립트 파일에서 함수를 재정의하는 방법은 무엇입니까?
- 21. 자바 스크립트 객체에 함수를 추가하는 다른 방법
- 22. 함수를 만들고 ajax 호출에서 함수를 호출하는 방법?
- 23. C에서 액티브 X 또는 DLL에서 자바 스크립트 함수를 호출하는 방법 #
- 24. 이진 데이터에서 함수를 호출하는 방법
- 25. javascript에서 actionscript 함수를 호출하는 방법
- 26. .NET에서 루아 함수를 호출하는 방법
- 27. 이름으로 jquery 함수를 호출하는 방법
- 28. 페이지가 창에서 함수를 호출하는 방법
- 29. as3에서 wcf 함수를 호출하는 방법
- 30. GUI를 리프레시하는 함수를 호출하는 방법
[BindableFunctions] (http://wiki.roblox.com/index.php?title=BindableFunction) 및 [RemoteFunctions] (http://wiki.roblox.com/index.php? title = RemoteFunction)에 관심이있을 수 있습니다. 원격 함수는 심지어 서버와 클라이언트 사이의 함수를 호출 할 수 있습니다. – ZombieSpy