현재 SurfaceView를 사용하여 Android 게임을 작성 중입니다. 가능한 한 많이 게임을 최적화했으며 게임이 원활하게 실행됩니다. 그러나, 나는 약간의 지저분한 충돌 감지 통합했습니다. 캔버스에서 직접 픽셀을 읽음으로써 충돌 감지를하고 싶습니다. 가능한가요? 필자가 발견 한 가장 가까운 것은 setBitmap을 사용하여 캔버스에 새로운 비트 맵을 첨부하는 것입니다. 그런 다음 캔버스에 그릴 때 비트 맵이 업데이트됩니다. 이것이 갈 길입니까? 감사. Canvas API에서Android Canvas에서 픽셀 값 가져 오기
2
A
답변
0
:
캔버스 클래스는 "그리는" 전화를 보유하고 있습니다. 그림을 그리려면 픽셀을 포함하는 비트 맵, 드로잉을 호스트 할 캔버스 (비트 맵에 쓰기), 드로잉 프리미티브 (예 : Rect, Path, 텍스트, 비트 맵)를 호스트하는 비트 맵, 페인트 ( 은 도면의 색상과 스타일을 설명합니다).
캔버스 자체가 픽셀 데이터를 실제로 소유하지 않기 때문에 캔버스에 픽셀 데이터를 요청하지 않아도됩니다. 그리기 호출에 사용하는 캔바스는 항상 비트 맵 (그리는 것)에 연결되므로 비트 맵에서 픽셀 데이터를 가져와야합니다.
충돌 감지는 일반적으로 비용이 많이 들지만 비트 맵 기반 프로세스로 전환하면 수행하려는 작업에 따라 더 심해질 수 있습니다. 그냥 머리를 올려.
0
나는 Josh와 동의한다. 앱에서 정밀도가 중요하다면 화면 크기/해상도 데이터를 일종의 물리 엔진에 통합 할 수 있습니다. 시각적 처리에 전적으로 기초하여 물리 엔진을 구축하려는 시도는 아마도 불필요한 비용이 듭니다.
1
다른 방법으로 충돌 감지를 관리해야하지만, 당신은 코드의 다음 줄에 주어진 위치에있는 픽셀의 색상을 얻을 수 있습니다 :
mView.mBitmap.getPixel(j, i)
MVIEW는 캔버스와 mBitmap을 포함하는보기입니다 캔버스를 만든 비트 맵입니다 :
Canvas mCanvas = new Canvas(mBitmap);
관련 문제
- 1. HTML5 Canvas에서 Javascript로 값 가져 오기
- 2. Java에서 TIFF 이미지의 픽셀 값 가져 오기
- 3. ImageView 값 가져 오기
- 4. Android : XML 항목에서 속성 값 가져 오기
- 5. Delphi에서 Scanline을 사용하여 현재 픽셀 값 가져 오기
- 6. 픽셀 데이터의 구성 요소 값 가져 오기 & iphone
- 7. Android Canvas에서 애니메이션하는 방법?
- 8. 터치로 픽셀 데이터 가져 오기 - Android/iPhone Appcelerator Titanium
- 9. iframe에서 값 가져 오기
- 10. XML 값 가져 오기?
- 11. Python에서 값 가져 오기
- 12. CFDictionary에서 값 가져 오기
- 13. Json.net에서 값 가져 오기
- 14. NSString에서 값 가져 오기
- 15. jtable에서 값 가져 오기
- 16. 위치에서 값 가져 오기
- 17. regexp에서 값 가져 오기
- 18. 배열에서 값 가져 오기
- 19. 가져 오기 값
- 20. PythonMagick 이미지에서 픽셀 데이터 가져 오기?
- 21. 코어 텍스트 - NSRange에서 픽셀 좌표 가져 오기
- 22. OpenGL에서 원근감 픽셀 데이터 가져 오기
- 23. 픽셀 오프셋을 기반으로 문자열 인덱스 가져 오기
- 24. 값 객체의 객체에서 값 가져 오기 [4,4]
- 25. 키/값 쌍의 목록 값 가져 오기
- 26. dropdownlist에서 값 가져 오기 UrlHelper에서 값 사용
- 27. 첫 번째 값 쌍의 값 가져 오기
- 28. DataView에서 값 가져 오기 C#
- 29. jquery에서 div 값 가져 오기?
- 30. Oracle 테이블에서 값 가져 오기