뉴턴 물리학으로 게임을 만들려고합니다.
이것의 나머지 부분을 읽기 전에, 이것이 내가 대답하려는 주요 질문입니다.
- 코드를 실행하려고 시도한 후에 창에 나타나는 오류가 계속 발생합니다. 어떤 라이브러리 또는 dll이 누락 되었습니까?
사과, 오렌지, 연필이 있습니다. 총알 물리 엔진으로 대부분의 문서를 읽었지만 사과가 종이처럼 행동하게하는 것처럼 보일 수는 없습니다 (2d-ish). Box2d 물리 엔진 등은 내가 원하는 것이 아닙니다. 나는 사이버 월드는 물론, 현실에서도 상자를 좋아하지 않습니다.
나는 사과가 땅에 엎드려 종이처럼 앞뒤로 흔들 리기를 원합니다. 이 사이트는 내가 코드에 통합 한 유용한 정보를 제공했다 : htp : //www.3dbuzz.com/vbforum/showthread.php? 50854-Please-HELP !! -Simulating-paper-floating-to-ground
객체를 다른 유형의 객체처럼 동작하게 만드는 게임에 대한 아이디어가 있지만 게임 시뮬레이션이 작동하지 않습니다.
나는 계산하기에 너무 많은 종류의 사과를 겪어 왔으며 아무도 가까이 가지 못했습니다. http://lmgtfy.com/?q=simluating+game+apples+in+real+life 와 같은 Google을 사용하여 비슷한 것을 시도한 다른 사람들을 검색하려고 했지만 사과가 반환되지 않습니다!
따라서, 나는 여기서 새로운 영역으로 가고 있다고 생각합니다 (걱정하지 마십시오. 기술을 공개 할 것입니다).
다른 종류의 사과 프로그래밍을 시도했지만 사이버 사과가 필요할까요? 그중 하나를 어디에서 구할 수 있을지 모르겠습니다. http://cyberapples.com/ 그 사이트는 현재 다운되었지만 cgi 쓰레기통이나 다른 것에 대해서만 이야기하고 있습니다. 이것에 대한 팁도 있습니까?
이것은 게임을 시뮬레이션하는 사과를 다루는 코드의 일부입니다.
///... /* setup other objects in the room and other stuff */ ...
// see http://www.orangepippin.com/apples/arlet-swiss-gourmet
// for more arlet apple details
paper_2d_behaving_apple = new ArletApple[);
/ setup the arlet apple's general characteristics
paper_2d_behaving_apple.species = SPECIES.MALUS_DOMESTICA;
paper_2d_behaving_apple.parentage = PARENTAGE.GOLDEN_DELICIOUS_X_IDARED:
paper_2d_behaving_apple.introduced = make_year(1958);
paper_2d_behaving_apple.fruitColor = COLORS.red;
paper_2d_behaving_apple.fleshCOlor = APPLE_FLESH_COLORS::CREAM;
paper_2d_behaving_apple.fruitSize = GENERIC_FRUIT_SIZES.MEDIUM;
paper_2d_behaving_apple.GoodFor.add("eating fresh");
paper_2d_behaving_apple.GoodFor.add("cooking");
paper_2d_behaving_apple.GoodFor.add("use / keeping: 3 months or more");
paper_2d_behaving_apple.GoodFor.add("ripening PERIOD: 3 months or more");
paper_2d_behaving_apple.diseaseResistances = [DISEASE_RES::SCAB, DISEASE_RES::MILDEW];
///... (I cut some of this out for brevity's sake) ...
///* setup this specific apple's characteristics
paper_2d_behaving_apple.base_color = 0xff2000;
paper_2d_behaving_apple.bumpMap = BUMP_MAP_APPLE;
paper_2d_behaving_apple.texture = TEXTURE_REALISTIC_APPLE;
paper_2d_behaving_apple.feel_texture = SMOOTH;
paper_2d_behaving_apple.has_small_orangey_stripes = TRUE;
paper_2d_behaving_apple.DoesntHaveStem = FALSE;
paper_2d_behaving_apple.juicy = true; // needs a lowercase true for some reason
paper_2d_behaving_apple.has_bugs = false; // heck no it doesn't, I only buy good apples
///... (again I cut some stuff out so this post would'n't be too long) ...
// from http://www.3dbuzz.com/vbforum/showthread.php?50854-Please-HELP!!-Simulating-paper-floating-to-ground
// "i think reactor can do this, i would try cloth witha high air resistance and a very high stifness"
paper_2d_behaving_apple.addReactor(REactor());
// got this technique from http://www.gimptutorials.eu/html/clothify_filter_gimp_gnu.html
import gimp ; GIMP::Clothify(paper_2d_behaving_apple); pass
// / 7 should be high enough - it's a big number
paper_2d_behaving_apple.reactor.stiffness = 7.0f;
paper_2d_behaving_apple.reactor.airResistance = 5.0f; // high, but not "very high"
// setup the world the apple exists in
paper_2d_behaving_apple.owner = new BobFlanderson();
paper_2d_behaving_apple.owner.appearance = APPEARANCE_AWESOME;
paper_2d_behaving_apple.owner.clothes.size = CLOTHES_SIZE_MEDIUM;
paper_2d_behaving_apple.owner.owns_house = false;
paper_2d_behaving_apple.owner.apartment.sucks = true;
paper_2d_behaving_apple.owner.has_wife = false;
paper_2d_behaving_apple.viewSpace = LIVING_ROOM;
paper_2d_behaving_apple.RESTINGon = Kitchen.GetSurfaces()->COUNTER_BY_STOVE;
////... (also cut some more out here too) ...
// transform the paper behaving apple into something viewable
view_matrix = new ViewMatrix();
view_matrix.DoTransformation(paper_2d_behaving_apple);
view_matrix.makeViewable();
World->ApplyViewMatrix(view_matrix);
paper_2d_behaving_apple.RenderToNeakedEye();
// THIS IS WHERE I'm HAVING THE TROUBLE
actual_existing_apple_on_myCounter = new ExistingApple(paper_2d_behaving_apple);
actual_existing_apple_on_myCounter.bindInRealLive();
// THIS NEVER WORKS! I DON"T KNOW HOW YOU GUYS DO THIS STUFF!
actual_existing_apple_on_myCounter.Translate(LANGUAGES::ENGLISH);
// saw the IW_FIXED on some jam making site
// (http://www.madewithmarmalade.com/devnet/documentation#/api/api/group__IwGeomCore.html)
// - that's the closest I've come to seeing anything close to what
// I'm trying to do
actual_existing_apple_on_myCounter.TranslateTo(0, 0, IW_FIXED(10.0f));
apple_now_inAir = actual_existing_apple_on_myCounter;
// I know this is C++ code, but some ruby sites were saying that it's best
// to put an exclamation point after a function that modifies a physical
// object - no luck yet for me
apple_now_inAir.Drop!();
보시다시피, 기본 개념이 내려졌으며 변수 이름과 객체 속성에 대해 매우 잘 설명되어 있습니다. 실제 주방에 비해 게임의 세계를 단순화했지만 세상을 매우 간결하고 명확하게 설정했습니다.
나는 문제가 바인딩 생각 paper_2d_behaving_apple
받는 actual_existing_apple_on_myCounter
사과, 후 (공중에서 하나에 해당 전송 apple_now_inAir
);
어떤 경우이든, 내가 모든 것을 얼마나 잘 포맷하든 아무 일도 일어나지 않는 것 같습니다. 아래는 프로그램을 실행하는 방법에 대한 이미지입니다.
아무도 전에 이것을 경험 한 적이 있습니까? 미리 감사드립니다. 나는 최근에 경력을 바꾼 프로그래밍 게임으로 시작하고 있으므로 기분 나쁘지 않습니다.
고마워요, 밥
apple_now_inAir.Drop!();
폭동입니다. 이 게시물에 대해 뭔가 야심 찬, 혼란, 운명 ...