編輯:關於Android編程
scene.registerUpdateHandler(new IUpdateHandler() { @Override public void reset() { } @Override public void onUpdate(final float pSecondsElapsed) { /* Get the scene-coordinates of the players feet. */ final float[] playerFootCordinates = player.convertLocalCoordinatesToSceneCoordinates(16, 1);//danielinbiti注1 /* Get the tile the feet of the player are currently waking on. */ final TMXTile tmxTile = tmxLayer.getTMXTileAt(playerFootCordinates[Constants.VERTEX_INDEX_X], playerFootCordinates[Constants.VERTEX_INDEX_Y]); if(tmxTile != null) { // tmxTile.setTextureRegion(null); <-- Eraser-style removing of tiles =D currentTileRectangle.setPosition(tmxLayer.getTileX(tmxTile.getTileColumn()), tmxLayer.getTileY(tmxTile.getTileRow())); } } });
對於“注1”中的話,始終沒有理解這裡為什麼寫16,1,看上面的英文注釋,表達很清楚,就是轉換成屏幕坐標。 可能是原來沒有用過引擎,理解能力偏低。始終沒有理解這裡填寫16,1是怎麼來的,這兩個數字是隨便寫的還是怎麼計算出來的。看裡面的算法,也沒什麼疑問。 於是網上找資料,上andengine論壇,看著一篇篇的英文帖子,越看越模糊,數字五花八門,沒有任何規律。 哎,沒有規律就對了,一開始就糾結到了傳參上,這已經落入了陷阱,范了錯誤。實際這個函數的意思很好理解,就是把local坐標轉換成scene坐標。這個local相對與誰呢,實際上就是
player.convertLocalCoordinatesToSceneCoordinates
這句話的前半部分,player,也就是括號中填寫的坐標是相對於player來說的,坐標系在屏幕的左下角,往後是X軸,往上是Y軸。括號中的參數就是相對於player的偏移量。 經過驗證後,就是這麼一回事。 一開始沒有發現,也是因為這是tilemap,根據格子畫的矩形,因此,如果這個數字的偏移量不大於一個格子的像素的花,矩形一直都在原地,看不出任何變化。也就導致小范圍改動數字都看不出效果來,改動太大了一下子又跑沒了。 特此記錄,以便於自己漲記性,對於一樣的後來者能夠立刻醒悟過來。 總算可以踏實的進行下一步了。
[Android][Memory Leak] InputMethodManager內存洩露現象及解決 現象: 在特定的機型天語k_touch_v9機型上
前段時間群裡兄弟項目中有類似這樣的需求 我看到兄弟受苦受難,於心不忍。又因事不關己,打算高高掛起。正在愛恨糾結之時,日神對我說:沒事多造點輪子,你的人生會有很多
最近兩天為了測試使用ffmpeg獲取視頻圖片的效率問題,玩了一把ffmpeg的移植工作. 在這裡作下記錄。所有測試都只在mac系統中測試。 1. 下載ffmpe
在Android系統API中,有兩個Camera類: android.graphics.Camera android.hardware.Camera 第二個應用於