溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

cocos2d-x js 綁定自定義類型

發(fā)布時(shí)間:2020-07-05 20:11:21 來源:網(wǎng)絡(luò) 閱讀:677 作者:cgw0827 欄目:游戲開發(fā)

1、conversions.yaml文件添加要綁定的類型轉(zhuǎn)換函數(shù):文件所在目錄:

cocos2d-x js 綁定自定義類型

添加的內(nèi)容如下:

cocos2d-x js 綁定自定義類型

Int1DArray 是我要綁定的結(jié)構(gòu)體。然后綁定要使用的相關(guān)文件。(類文件和頭文件)

2、新建一個(gè)js項(xiàng)目,將綁定好的文件和源文件加入到項(xiàng)目中.(怎么加自己想吧!)

3、修改ScriptingCore

頭文件中聲明:

Int1DArray* jsval_to_int1darray(JSContext *cx, jsval v);

類文件中實(shí)現(xiàn):

Int1DArray*jsval_to_int1darray(JSContext *cx, jsval v)

{

JSObject *arr;

if (JS_ValueToObject(cx, v,&arr) && JS_IsArrayObject(cx, arr)) {

uint32_t len = 0;

JS_GetArrayLength(cx, arr, &len);

Int1DArray *int2d=(Int1DArray*)malloc(sizeof(Int1DArray));

       int2d->value=(int*)malloc(sizeof(int)*len);

       int2d->length=len;

for (int i=0; i < len;i++) {

jsval elt;

int temp;

if (JS_GetElement(cx, arr,i, &elt) && JS_ValueToInt32(cx, elt, &temp)) {

                  int2d->value[i]= temp;

           }

       }

return int2d;

   }

returnNULL;

}

4、hello.js中找個(gè)合適的位置測(cè)試代碼:

varmysqlite=sql.MySQLite.create('cgw.db');

if(mysqlite.open()){

    mysqlite.createTable("UserInfo","(ID intprimary key , UserName char, PassWord char)");

    mysqlite.insert("UserInfo", "(ID,UserName,PassWord)values(1,'kfqcome','123456')");

var a=new Array(1,2,3);

    mysqlite.insert("UserInfo", "(ID,UserName,PassWord)values(2,'miss wang','654321')",array);

    mysqlite.selectAll("UserInfo");

     }


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI