HTML, CSS, JAVASCRIPT로 구성된 HTML5는 C나 JAVA같은 컴파일언어 개발자라면 누구나 쉽게 접근할 수 있다.

이참에 HTML5를 어떻게 디버깅하는지 포스팅해본다.


JAVA, C, C#같은 언어들은 개발툴에서 직접 디버깅과 수정이 가능하지만,

HTML5는 디버깅을 웹브라우저를 통해서 해야한다.




HTML은 컴파일되는 언어가 아니라 브라우저마다 각기 다르게 해석이 가능하기 때문에 반드시 해당 브라우저에서 디버깅을 해봐야 정확한 동작을 확인할 수 있다.

따라서 디버깅도구는 대발툴이 아닌 브라우저를 이용해야하고,

여기서는 HTML5지원이 가장 잘되는 크롬브라우저를 이용하기로 한다.




1. 디버깅할 페이지를 크롬에서 연다.



2. 메뉴를 열어 도구로 들어간다. 개발자도구가 있을것이다.



3. 개발자도구를 클릭한다.



4. 탭이 작으니, 좀 늘린다. 이제야 Sources탭이 보일 것이다.



5. Sources탭을 선택하고, 디버깅할 파일을 선택한다.



6. 브레이크 포인터를 지정한다.-라인번호를 클릭하면된다.



7. 디버깅을 한다.(수행은 f8, step은 f10)



참~ 쉽죠잉~

개발툴에서 바로 디버깅을 해볼 수 없을뿐, 별거 없다 ^^;;


test.html


Google AdSense

지난번 포스팅에 덧붙여서 좀더 게임답게 만들어보겠다.




1. 적총알 하나 추가 (귀찮아서 일단 하나ㅋㅋㅋ)

2. 충돌로직 추가(뱅기가 총알 맞는지 계산)

3. Enter키로 게임시작

4. 종료시 경과시간 기록보여주기


충돌로직은 원과 원으로 검사하며,

피타고라스의 정리(아군비행기크기제곱 + 공의크기제곱 = 두사이거리의제곱)을 이용하면 된다.


아래 소스코드에 있는 

function checkHitPlayer()

{

  var rtnVal = false;

  var distanceX = (playerUnit.x +  playerUnit.width/2) - enemyBall.x;

  var distanceY = (playerUnit.y +  playerUnit.height/2) - enemyBall.y;

  var distance = distanceX*distanceX + distanceY*distanceY;

  

  if(distance <= (enemyBall.radius + (playerUnit.width/2 -5))

                  * (enemyBall.radius + (playerUnit.height/2 -5)))

    rtnVal = true;

  

  return rtnVal;

}

부분이다.

Sorry, Your browser doesn't support HTML5 CANVAS








Google AdSense

꽤 오래전에 Canvas이미지 처리를 올리고 포스팅이 멈춰 있었다.

오늘은 키입력을 받아서 이미지를 이동시키는 걸 포스팅해본다.

슈팅게임제작의 서막이라고나 할까?





움직이는 이미지는 아래의 그림을 불러들여서 비행기 하나만 뽑아쓰려고 한다.



주의사항1 - 키 멀티입력

키 입력을 받더라도...

javascript는 한번에 하나의 키입력만 인식한다.

키입력을 하나씩 받으면 물체를 상/하/좌/우로 움직이는건 가능한데,

대각선 움직임처럼 상+좌를 인식하기 위해 다른 방법을 강구해봤다.


주의사항2 - 더블버퍼링

지금은 오브젝트 하나 출력이라 깜빡임이 없겠지만,

총알등이 늘어나면 깜빡임이 생긴다.

가상의 추가캔버스를 이용한 더블버퍼링을 사용하도록 한다.



아래의 캔버스 화면은 화살키 또는 W,A,S,D로 비행기를 움직이게 되어있다.

(크롬이면 잘 될꺼고, InternerExplorer는 아마 10버젼부터 나오질않을까.. 말까.. 한다)

Sorry, Your browser doesn't support HTML5 CANVAS








Google AdSense
맥프로 1세대(2006)를 또 업글했다.



우선 업글후 맥프로 1세대에서 실행한 디아블로3 영상(시즌 새캐릭 랩업중^^)
그림자만 '부드러운 중간'을 주면, 몹 쏟아지는 구간도 원활히 잘 돌아간다.
* QuickTime으로 뜬거라 소리는 X



헥사코어로 업글된 맥프로라서

컴파일 속도나 영상편집 속도는 겁나게 빠르다.
하지만 8800gt 그래픽으로는 디아블로3를 최저로 근근히 돌리고,
HD4870은 전력부족으로 블랙아웃현상에 시달렸다.

그래서 VGA를 5770으로 업글했다.
애플정품 5770 중고는 아직 가격이 너무 비싸기에 PC용 5770을 롬플래싱했다.

구입한 XFX 5770는 레퍼런스는 아니지만, 전원부를 제외하면 레퍼런스와 동일한 구성이다.
기판을 보면 레퍼와의 차이를 분명히 알 수 있지만,
쿨러를 따지않고도 PCI-E슬롯을 보면 레퍼여부를 판별할 수 있다.
(* 주의 - 5770은 기존 레퍼런스랑 다르게 PCI-E슬롯에 AMD마크가 없음)





우선 구매한 5770이 너무 더러워서 세척을 했고, 오래된 써멀도 MX-4로 재도포했다.

물로 세척할 수 있는 부분은 다 물로 세척!



XFX5770은 애플정품 5770과 동일한 쿨러이지만, 스티커가 있다.

애플정품의 느낌을 주기위해 쿨러뚜껑의 스티커를 제거했는데,
스티커 접착제 찌꺼기가 남아서 사진과 같이... ㅎㅎㅎㅎ





어쨋든 세척도 끝났으니 롬플래싱 작업을 하고나서 맥프로에 넣어주니 부팅로고부터 잘 된다!! 

성공!!! (롬파일 : MAC5770.rom)





업그레이드된 시스템정보
5770이 정상적으로 잘 인식됐다.





조으다. ㅎㅎㅎㅎ


PS1. 애플의 공식입장은 '5770은 맥프로 1, 2세대에 호환이 되지 않는다' 이다.
그 이유를 오늘 알았는데, 부팅시 OSX/부트캠프/타임머신 등을 선택하는 옵션화면이 나오지 않는다.
자주 쓰는 기능도 아니고, 안나와도 선택에 문제는 없지만...
아마 이것때문에 5770은 1세대와 2세대에 호환이 안된다고 하는듯 합


PS2. CPU정보를 제대로 보기위해 펌웨어를 2006에서 2007로 올렸다.

덕분에 맥프로 1세대가 아닌 2세대가 되버림 ㅎㅎㅎ

(펌웨어툴 : MacPro2006-2007FirmwareTool.zip)



Google AdSense

해킨토시에서 사용하던 무선랜카드 TL-WDN4800이 있었는데,

더이상 해킨토시를 유지하지 않아서, 분해를 했다.

듣기로는 이녀석이 맥전용 무선랜카드와 동일한 칩과 구조를 갖고 있단다.


실제로 맥프로(2006~2012)에 들어가는 wifi카드는...

아래사진처럼 mSATA처럼 보드에 눕혀꽂는 녀석이지만 말이다.

오리지날 맥용 wifi



슬롯방식은 달라도 WDN4800도 같은 칩과 구조라고 하니...

아마 되지않을까 싶어 구글링을 해보니, 그냥 꽂으면 된다고 한다!

그래 해보자!!



이렇게 PC용 WI-FI PCI-E카드를 맥프로에 꽂고,



부팅을 했더니...




뙇!!!!!



알아서 인식함은 물론이거니와...

무선깨우기, AirDrop등 모든 유틸까지 다 지원된다.



오호~



끝.

Google AdSense

+ Recent posts