Re: [問題] 請問一下??

看板Flash作者 (鴨滷蹄馬)時間16年前 (2008/03/15 23:30), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/7 (看更多)
看到這篇文章 我也才開始研究起來flash 3D (好像有點晚XD) 網頁上面的解說是寫得滿清楚 不過我測試完也跟你一樣 我發現好像有幾個地方有問題 //一開始的Transform3DPointsTo2DPoints函數 Transform3DPointsTo2DPoints = function (points, rotations) { var myArray = []; var sx = Math.sin(rotations.x); var cx = Math.cos(rotations.x); var sy = Math.sin(rotations.y); var cy = Math.cos(rotations.y); var sz = Math.sin(rotations.z); var cz = Math.cos(rotations.z); var x, y, z, xy, xz, yx, yz, zx, zy, ratio; var i = points.length; while (i--) { x = points[i].x; y = points[i].y; z = points[i].z; //這邊的points參數是陣列 所以加上[i] //讓他判斷pointsArray各點的坐標 xy = cx*y-sx*z; xz = sx*y+cx*z; yz = cy*xz-sy*x; yx = sy*xz+cy*x; zx = cz*yx-sz*xy; zy = sz*yx+cz*xy; ratio = d/(d+yz); x = zx*ratio; y = zy*ratio; z = yz; myArray.push(make2DPoint(x, y, -z, ratio)); //原來的 myArray = make2DPoint(x, y, -z, ratio); 改掉 //將這些新的2D參數以物件型式放入myArray陣列 } return myArray; }; //最後面的執行 Scene.onEnterFrame = function() { myRotations.y -= this._xmouse/2000; myRotations.x += this._ymouse/2000; var screenPoints:Array = Transform3DPointsTo2DPoints(pointsArray, myRotations); for (i=0; i<pointsArray.length; i++) { myball = this["ball"+i]; myball._x = screenPoints[i].x; myball._y = screenPoints[i].y; myball._xscale = myball._yscale=100*screenPoints[i].ratio; myball.swapDepths(screenPoints[i].depth); //screenPoints是一個陣列 所以用迴圈判斷各個陣列的值 } }; 黃色的地方改完以後 應該就可以正常執行了 ps.記得要製作一個"ball"的MovieClip匯出給AS共用 ※ 引述《Godkiller (crush on elisha... )》之銘言: : : 可能是命名qiu這個部份錯囉 : : 是要命名在mc元件上(點球再命名) : : 如果是按F8然後打的名字 : : 是在元件庫裡的名字,不是元件的名稱喔! : : PS1:把目前做出來的檔案上傳後放連結會比較方便解答喔 : : PS2:那一頁的解說上有一行少了一個"/",直接貼會出錯XD : 謝謝這位大大的協助 : 之前的問題我已經解決了 : 但目前又有新的問題出現。 : 我在個網頁上http://www.5uflash.com/Html/bctl/191407434.html : 找到了類似也是立方體旋轉的code : 其中我複製它某斷code: : this.createEmptyMovieClip("Scene", 1); : Scene._x = 150; : Scene._y = 150; : d = 300;//眼睛和屏幕之間的距离,試者調整看有什么變化 : ~~~~~~~~~~~~~~~以下code省略~~~~~~~~ : 將以上這段程式貼在我場景第一個frame的actions裡 : 然後我在我的library裡加了一個名稱叫 " ball " 的mc(一顆小球) : 在右邊library視窗的 ball上 滑鼠右鍵 : 點選linkage properties 將 Export for ActionScript的選項打勾 : crtl+enter後,只有一個動都不動的小球。 : 這次不知道我又遇到什麼問題了?? : 如果上述程式碼,我只想做對某一軸的轉動(ex.對x軸轉動) : 而不是讓滑鼠控制它怎麼轉,那段編碼最後要怎麼改? : 感覺flash的as怎麼比我之前學的c還是fortran來的難阿?? 哀~~~ : 總之還是先謝謝各位了~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.95.139

03/16 01:16, , 1F
謝謝你的指教 幫助我太大了
03/16 01:16, 1F
文章代碼(AID): #17s-jyxC (Flash)
討論串 (同標題文章)
文章代碼(AID): #17s-jyxC (Flash)