※ 플래시 크기 어떻게 조정합니까아아아아아




먼저 Pentaball 당시 충돌 계산법을 말해야겠군요.


1) 수직벽, 수평벽, 대각벽을 '각각' 인스턴트 네임을 부여, 행렬에 넣는다.

2) 수직벽에 부딛히면 수평으로, 수평벽에 부딛히면 수직으로, 대각벽에 부딛히거나 수직벽과 수평벽에 동시에 부딛히면 대각선 방향으로 튕기게 한다.


그리고 여기에는 벽의 갯수에 비례해 연산수가 늘어난다.



이게 얼마나 끔찍한 소린지 모르신다면, 이걸 보시면 됩니다 :



'너무 이 심해서' 자동적으로 사양을 낮춰주는 함수가 필요했던 순간.



그리고 이 방법엔 또다른 문제점이 있습니다 :


맵 디자인이 어렵다! (모든 맵을 직선으로 만들어야한다)



즉 유우여언하안 곡선은 마인크래프트에서 만큼이나 보기 힘들거라는 얘기였습니다.



그래서 방법을 바꾸자, 했습니다.




이건 꽤나 극적인데, 자기 직전에 아이디어가 떠오르더라고요. 바로 핸드폰을 켜서 녹음했습니다. (그리고 안심하고 조아라를 보았...퍽!)


"점 네개를 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래에 놓고 중앙에 원을 두고 벽과의 충돌여부를 확인한다. 중앙 원에 닿을 경우 튕겨나가는데(액체, 기체의 경우, 고체 상태에서는 공 가장자리가 부딛혀도 튕겨나감) 왼쪽 위, 오른쪽 위에만 벽이 닿을 경우 '위에 벽이 있다'라고 인식, 아래로 튕겨나가게..."



정작 실현과정에서는 점 네개가 '영역' 네개로 바뀌었습니다. 하지만 나머지는 동일했습니다.


그래서, 테스팅을 시작했습니다.





........................



망했어요.


(상황 설명 : 공이 벽을 뚫는다.)



그래서 저는 충돌 영역들을 시각화하기로 마음먹습니다.




문제는 둘입니다.

1) 사각 영역 사이에 빈 공간이 있다. (살짝 겹쳐져야 정상)

2) 오른쪽 아래 영역이 왼쪽 위 영역과 겹쳤다.



바로 코드 수정했더니, 모든것이 고쳐졌습니다.


해피엔딩.




은 뻥이고, 빠른 속도로 얇은 벽으로 돌진하면 벽을 뚫는 것은 여전했습니다.


순간적으로 '압사'판정이 나오는데, 실제 게임에서는 '빠르게 돌진했더니 죽었다'가 되겠죠.


그리고 전 그걸 원치 않았습니다. 압사는 정말로 벽이 깔아 뭉개려는 때에나 벌어지는 일이거든요.


그래서, '특별한 경우를 제외하고는 압사가 일어나지 않는다'라는 사실을 이용, 압사 판정시 넉백을 주기로 했습니다.



그래서 성공, 적어도 공이 벽을 뚫는 일은 사라졌습니다.



뭐, 자세한건 맨 위의 공을 가지고 벽에 박아 보면 알겁니다.

'Metnias > Abondoned' 카테고리의 다른 글

일단 모델링 시도  (0) 2012.07.12
Blender를 써봅시다  (0) 2012.07.12
Skybox in Alternativa3D 8  (0) 2012.07.12
Flash Professinal + Alternativa3D 8, 그 첫 시도  (3) 2012.07.11
초반부 스토리라인 거의 완성  (0) 2012.04.24
스토리 라인 작성중  (0) 2012.04.20
IFM 설명  (0) 2012.04.20
A5] 유도 미사일.  (0) 2012.04.17
Before Hydragyre, Pentaball  (2) 2012.04.16
Posted by Metnias
,