U E D R S I H C RSS
ID
Password
Join
도사(道士) 프로그래머 가라사대: "숨겨진 에러 코드를 찾아내는 방법을 익혔다면 하산(下山)할 때가 온 것이니라." - "프로그래머의 길"에서

#action Blog Add Blog
[http]RDF
http://www.redwiki.net/redwiki_blog_logo.gif 옛날 : Blog/2004-03 | Blog/2004-04 | Blog/2004-05 | ] [[BR] 신규 : Blog/2004-07 | Blog/2004-08 | Blog/2004-09 | Blog/2004-10

2004-06-28 #
lua script class 객체 얻기 및 여러 가지 궁금해요 #
Submitted by dhkim6kr @ 06-28 [06:35 pm]
우선 제가 만들어본 소스코드를 올려봅니다.

///소스코드 class Test { public:
Test(){} ~Test(){}

void MyAdd(int a, int b){m_result = a + b;} void SetID(char* id){m_id = id;}
public:
int m_result; char* m_id
};

int WinMain(……) {
/// 루아바인드 초기화 ………………

///클래스를 루아에 등록 module(luaVM) [
class_<Test>("Test")
.def(constructor<>()) .def("MyAdd", &Test::MyAdd) .def_readwrite("m_result", &Test::m_result)
];

///선언된 Test 클래스 객체 얻어오기
lua_dofile(luaVM, "./use_class.lua");

luabind::object gt_ = luabind::get_globals(luaVM);

if (gt_Test1) {
Test a = object_cast<Test>(gt_Test1); ///* 클래스 객체를 얻는다. MyPrint("ID %s, 합산결과 %d", a.m_id, a.m_result); ///설정된 데이터를 출력한다.
} else {
MyPrint("스크립트 파일에서 Test1 없다");
} lua_close(luaVM);
}



///"use_class.lua" 스크립트 파일
MyTest = Test()
Test1 = Test() Test:SetID(테스트클래스1번) Test:MyAdd(10, 20)



궁금한점 1. 스크립트에 정보 설정한 클래스 객체를 얻오는 방법이 Test a = object_cast<Test>(gt_Test1); 맞는지요

2. 위에 있는 걸로는 제가 원하는 결과가 제대로 출력 안됩니다.
스크립트 파일 MyAdd(10, 20) 하면 원하는 값은 30인데 출력하면 이상한 값이 출력되는 이유를 알고 싶습니다.
3. 또 한가지는 스크립트 파일에 직관적으로 클래스 멤버 변수에 값을 어떻게 넣는지도 궁금합니다.

4. 여러 Object정보가 설정된 스크립트 파일을 게임이나 여타 다른 프로젝트에서 읽어 들여 소스코드에 객체를 생성할 때
어떠한 방법이 있을까요
ex) Test1 = Test()
// Test1 정보설정 Test2 = Test() // Test2 정보설정
Test3 = Test()
// Test3 정보설정
…………
이렇게 되어 있다면 소스코드에 스크립트 Object 검색 루틴에 class Test1, Test2, Test3, Test…. 이렇게 만들어 놓고 생성하고 써먹는 것도 쫌 이상한 것 같은데 뭐 좋은 방법 있으면 알려주셨으면 감사하겠습니다.

즐거운 하루하루 보내시고요 잘 부탁 드리겠습니다.



2004-06-16 #
SDL 질문 #
Submitted by Anonymous @ 06-16 [11:52 pm]
TTF_RenderText_Shade 로 찍은; 글짜를 예뿌게; 출력하는 방법좀-_-; 요넘이 안티를 먹이다 보니까 SDL_SetColorKey() 한다음에 출력하니까.. 너무 더럽게 나오네요..-_-; TTF_RenderText_Solid 는 넘 안이쁘고-_-; 알려주세요-0-;


여쭤봅니다. #
Submitted by Anonymous @ 06-16 [09:13 pm]
제 RSS 목록에 들어계신 분인데, 이런 싸이트를 운영하고 계신 줄은 몰랐어요. RSS리더의 단점이랄까.. 암튼, 한가지 여쭤보고 싶은 것이 있습니다. (갑작스런 질문에

요즘 ICE를 들여다보려고 하는데요. ACE 설명하신 것을 보고는 시작하다가 망설이고 있습니다. 어찌보면 저는 간단한 RPC 정도가 필요한데, (자바와 C 두개모두 구현된..) 그정도로 자그마한 녀석을 찾다보니 ACE 나 ICE 는 너무 크지 않나 싶습니다. 그저 프로토콜 따라서 구현하는 게 귀찮은 것 뿐인데..

차라리, LDAP에서 쓰는 BER 이었나요.. 그냥 그런것 가져다가 쓰는게 더 속이 편할지도 모르겠다는 생각이 듭니다. 혹시 저급하면서도 java nio 도 지원하고, C 랑통신도 잘되는 그런 네트웍 라이브러리에 대한 경험이 있으시면 한말씀 부탁드리어요.. ^^



2004-06-12 #
안녕하세요^^ #
Submitted by Anonymous @ 06-12 [08:04 am]
안녕하세요, 여기에 있는 lua관련 자료 덕택에 많이 배우고 갑니다. ^^

단지, 한가지 질문이 있는데요,

Table로, 여러개의 Script를, Load해서, 그때그때 Table을 Get해서

스크립트를 실행하도록 소스를 짜봤는데,

사실상, 이런식으로 작업을 해 나가는 것이 맞는 건지 조금은 의심스럽네요^^;;;

스크립트의 갯수가 1천개라면, 1천개의 테이블을 만들어야 한다는 소린데,

어떻게 작업을 하시는지 좀 여쭤 볼수 있을까요? ^^




2004-06-03 #
모니위키 팁 또하나 남깁니다. #
Submitted by Anonymous @ 06-03 [04:20 pm]
지난번에 간단한 모니위키 팁 남겼던 바이퍼 입니다. 소스를 많이 올리시던데요. 알고 계실지 모르겠지만 간단한 팁 하나 남깁니다.

1  #include <stdio.h>
2
3  int main(void)
4  {
5    printf("Hello World!\n");
6
7    return 0;
8  }
특별한 것은 없고 블럭 지정하실 때 #!vim cpp number 를 추가하시면 됩니다. 줄번호가 필요없으시면 number 를 빼시면 되구요.

그런데 <tab> 문자가 '^l' 로 표시되는데 왜 그런지는 모르겠습니다. 저는 괜찮거든요. 다음에 알게 되면 또 글 남기겠습니다.

- 바이퍼 -


lua 인터프리터 #
Submitted by Anonymous @ 06-03 [10:04 am]
lua 배보판에 있다고 하던데... 눈씻고 찾아봐도 없군요...-_-; 어디서 찾을수 있는지요?


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.3437 sec