Android游设计(93P).ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android游设计(93P)

* Vertex ( Vertices) : 最小的基本繪圖單位,就是兩線交會的點。(point) Vertex 在 OpenGL ES 中被用作描繪3D model 的元素,也被用來指定 camera , light 的位置。 Edge : 連接兩個 Vertex 的直線 Face : 由三個 Vertex 包成的三角形區域。 當要定義一個face 時,他的三個vertex 的順序是很重要的,vertex 順序被用來判定face 的正面和背面。有時候,可以指定只 render 正面,好節省時間。 * GL_POINTS : 只描出 定義的點 GL_LINES : 兩兩描出一線 GL_TRIANGLES : 每三點描出一triangle GL_LINE_STRIP : 依順序描出點之間的線 GL_LINE_LOOP : 和 GL_LINE_STRIP 一樣,但是再加一條 : 最後一點到第一點的線 GL_TRIANGLE_STRIP :就是每三點描出一triangle外,再包圍起來。 GL_TRIANGLE_FAN : 每三點描出一 triangle外,再用扇形圍起來。 * * * * OPENGL ES 可以在同一場景中設定多道光源,其GL10.GL_LIGHT0與GL10.GL_LIGHT1分別代表不同的光源,而其它lightAmbient和lightDiffuse與分別代表設定環境光係數設定散設系數與設定光源位置。 glEnable(GL_BLEND);可設定折射(or透視的效果) glEnable(GL_10.GL_LIGHT0); 讓0號光能用 glEnable(GL_10.GL_LIGHT1); 讓1號光能用 //由此類推 * 使用的coordinate 為 right-handed coordinate 注意 sin cos函數產生之值為逕度,因此要使用時要轉換 * * * RussiaCube a= new RussiaCube();//用RussiaCubeclass宣告一個新物件 GLCubeL.add(a); //將a物件加入arraylist中 GLCubeL.add(a); GLCubeL.add(a); 代表GLCubeL這個arraylist中已放置三個物件: GLCubeL.get(0).number=5; //控制第一個物件中的值 GLCubeL.get(1).number=3; //控制第二個物件中的值 GLCubeL.get(2).number=6; //由此類推 可以控制這三個物件中的變數或執行物件中funtion * thread.sleep(1000); //sleep一秒 R3 = (int) Math.abs(myRandomX.nextInt()%7); //將隨機函數產生的數值除7-只會產生0,1,2,3,4,5,6 //abs()-讓產生的值做|a| * * * 主要程式部分與骰子3D相同,因此程式架構、方塊的定義、光線的設定、方塊的產生與控制都請參造骰子3D的部分 都看骰子3D部分的介紹投影片即可 View 是個使用者界面組件的基本建構區塊。 一個 View 會在螢幕上佔據一個矩形的區域,負責繪圖和事件處理。 /reference/android/view/View.html 這邊用的方法主要是直接對整個 “canvas(畫布)” 做調整 translate():移動canvas scale():延展canvas drawBitmap():繪出指定的Bitmap。 若將註解的程式碼移除,則圖片可以旋轉 (還須配合其他部分的程式碼) /reference/android/graphics/Canvas.html onTouchEvent() 的動作主要分為:Down, Up, Move…..等。 另外也可以直接設定某個觸碰點的動作,而 “ACTION_DOWN” 通常是指第一個觸碰點。 /reference/android/view/View.html 因為在做雙指縮放動作的時候也會觸發 “ACTION_MOVE” ,所以使用一個 “if 條件” 與縮放動作做區隔。 因為是對整個 canvas 做拖曳,所以移動時手指不一定要按在圖片上。 將變數 mScaleFactor 同時代入 canvas.scale(x, y) 的x跟y,即可得到長寬皆等比例縮放的效果。 若將註解的程式碼移除,則圖片可以旋轉 (還須配合其他部分的程式碼) 因為是對整個 canvas 做縮放,所以移動時手指不一定要按在圖片上。 因為是對整個 canvas 做縮

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档