2011-01-14 7 views
1

Angry Birds 홈 화면에서 플로팅 메뉴를 만드는 방법을 아는 사람이 있습니까?Android의 플로팅 메뉴와 같은 화난 새

다음은 축소 모드 (기어, 위로 버튼)의 메뉴 버튼을 보여주는 그림입니다. 이 버튼을 두 드릴 때 실제 메뉴가 확장되어 두 개 이상의 라운드 버튼이 표시됩니다.

alt text

모든 링크는 단서가 많이 감사합니다. 당신은 표준 위젯을 달성 할 수 있지만

답변

1

나는 그것이 투명 배경 이미지 것 같아요 당신은 시간을 기준으로 위치를 계산 ....

는, 어쩌면 사용자 지정보기를 만들 수있는 더 좋은 생각이 될 것입니다 onDraw()를 구현하십시오.

+0

이 플로팅 메뉴의 예는 현재 레이아웃의 버튼을 클릭 할 수 있습니까? 다른 레이아웃 (메뉴)은 왼쪽에서 오른쪽으로 플로팅해야합니다. .. (화난 새 메뉴 예제와 동일) –

2

제가 틀렸을 수도 있지만 전체가 OpenGL에서 처리되었다고 생각합니다.

+1

예. 그것은 게임이므로 OpenGL에서해야합니다. 그러나이 메뉴 스타일을 게임이 아닌 무언가에 사용하려는 경우 OpenGL을 사용하면 과장 될 수 있습니다. –

+0

@PedroLoureiro : 그건 사실 일지 모르지만 그는 어떻게 만들어 졌는지, 어떻게 비슷한 짓을 할 수 있는지 묻고있었습니다. 그는 무엇을 주장하지 않았습니다. 나는 그 질문에 답했고 그가 성취하기를 원했을 것이라고 생각하는 것이 아닙니다. –

+0

AngryBirds에서도 이와 같은 OpenGL 메뉴를 사용하는 것은 무리입니다. 물론 여기에는 사용되지 않습니다 .. – Ewoks

0

이것은 '게임 화면'의 XML 내에서 수행됩니다. OpenGL-ES에 대한 튜토리얼을 수행했다면, 커스텀 GLSurfaceView를 저장하는 xml 파일이 있어야합니다. 버튼과 같은 오버레이 항목을 추가하려면이 항목을이 XML 파일에 추가하면됩니다. 분명히이 (필자는 화면의 중앙에 떠있는 버튼이 없습니다 : P)을 수정

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

//This is your GLSurfaceView which will fill the whole screen 
<android.opengl.GLSurfaceView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/GLSurface" /> 


     //This layout will overlay the game 
     <LinearLayout 
     android:gravity="center" 
     android:weightSum="100" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

      <Button 
      android:layout_weight="10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Sel" 
      /> 

      <SeekBar 
      android:paddingLeft="30px" 
      android:paddingRight="30px" 
      android:layout_weight="80" 
      android:gravity="center" 
      android:id="@+id/RotateBar" 
      android:layout_width="180px" 
      android:layout_height="wrap_content" 
      android:max="180" 
      /> 

      <Button 
      android:layout_weight="10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Act" 
      /> 

     </LinearLayout> 

을 : 여기에 내가 일하고 있어요 게임의 예입니다하지만 당신은 아이디어를 얻을. 다음은 좋은 OpenGL-ES 튜토리얼에 대한 링크입니다. link

+0

어떤 사람이 떠 다니는 메뉴의 예를 들어 줄 수 있습니까? 현재 레이아웃의 버튼 다른 레이아웃 (메뉴)은 클릭 한 현재 레이아웃 버튼의 상단에서 왼쪽에서 오른쪽으로 애니메이션을 플로팅해야합니다. (화난 새 메뉴 예제와 동일) –

관련 문제