egret p2物理引擎 遇到的坑(1)

2022-09-20 11:03:21 字數 1847 閱讀 5189

typeerror [err_invalid_arg_type]: the "to" argument must be of type string. received type object

at validatestring (internal/validators.js:125:11)

at object.relative (path.js:493:5)

at array.map ()

at c:\users\mi\documents\egretprojects\keli_go\scripts\plugins\webpack-plugin.ts:59:21

at new promise ()

原因分析

一般都是路徑有問題,沒有配置正確的p2包的具體檔案路徑**,to入參接收的是物件引數

解決方案

需要在egretproperties.json檔案配置具體的path路徑,具體如下:將physics.d.ts/physics.js/physics.min.js 放到根目錄/../physics目錄下

然後將egretproperties.json新增配置項

地面剛體初始化的屬性是這樣的

new p2.body()
球體剛體初始化的屬性是這樣的

new p2.body()
這裡剛體的type一共有三種型別:

dynamic:動態, dynamic型別剛體可以與任何型別的剛體互動,可以移動。

static: 靜態,static型別剛體不可以移動,但是可以與 dynamic型別剛體互動。

kinematic: 動態剛體,kinematic型別剛體通過設定速度來控制,其他方面則和static剛體相同。

講道理這裡設定了static應該在和物體碰撞的時候不會發生穿破的現象

首先懷疑的是球體是不是沒有設定剛體的原因,將球體的type同樣設定成static試一下

。。。。emmm發現自己是個智障,前面剛剛說了static型別不能移動,如下圖,完全不動

懷疑球體shape形狀有問題,目前的設定是這樣的

var boxshape:p2.shape =  new p2.box()
暫時沒解決,今天有點晚,準備休息了
可能的情況有以下幾種

設定剛體的type型別都是static,靜態的剛體是不能有位移發生

沒有調world.step()步進函式,使物理世界按照公式軌跡執行,使用定時器,或者在egret幀重新整理事件繫結step函式,並且在函式中重新整理egret檢視位置

//幀事件,步函式

private update()

else }}

} 主函式中,監聽事件

this.addeventlistener(egret.event.enter_frame,this.update,this);

物體沒有設定mass重量屬性,或者檢視繫結有問題

jade模板引擎使用中遇到的坑

1.如果id中有變數的話怎麼辦?就不要用 後跟id的形式了,改為 div.list all live id list e match id dom 2.段落中的標籤加文字加標籤怎麼解決?p.pure u 3 5 m name span.sporttery img width 14 src image...

Koa2 POST遇到的坑

最近剛剛搞乙個公司內部的系統,本來還想用express,後來想了一下還是嘗試一下新鮮的事物吧。於是決定用koa2,but!全是坑 反正我第一次用koa post就是乙個坑 不過話說回來 koa2解決跨域還是相當簡單的 直接上外掛程式 直接github搜 koa2 cors ps 我用的是koa2所以...

記錄strut2遇到的坑

前端往後端傳引數正常是使用string來接收 今天的坑是前端傳了乙個34.00的字串 而後端宣告的成員變數是long型別的 頁面直接崩潰 錯誤提示在xml的使用方法action 打斷點 無法進入action的指定方法 後來前端alert輸出了字串才知道 是字串後面有.00 並且傳的型別錯了 所以賦值...