Slide 1

Slide 1 text

DPDPTEKTͰͷ։ൃ ʹ͍ͭͯ 8SJHIU'MZFS4UVEJPTதɹو߂

Slide 2

Slide 2 text

ࣗݾ঺հ w தɹو߂ w άϦʔೖࣾ w ʙओʹ(3&&ϓϥοτϗʔϜ޲͚4%,΍ϛυ ϧ΢ΣΞ։ൃʢ6OJUZ DPDPTEYKT ʹैࣄ w ݱࡏ͸83*()5'-:&3456%*04ʹॴଐ w άϦʔೖࣾҎલ͸ΞʔέʔυήʔϜ΍ίϯγϡʔϚʔήʔ ϜɺJ04ΞϓϦͳͲΛ։ൃ

Slide 3

Slide 3 text

։ൃΛ࢝ΊͨܦҢ w ௼ΓελϓϩδΣΫτ͔ΒΨϫΞϓϦͰҰ෦ΛωΠ ςΟϒͰۦಈ͍ͨ͠ͱ͍͏ґཔ
 ʢ஫ɿ8FC7JFX,JUΛ༻͍ͨωΠςΟϒ෩8FCΞϓϦͷݺশʣ w ωΠςΟϒ㲈DPDPTEY

Slide 4

Slide 4 text

λʔήοτϓϥοτϑΥʔϜʹΑΔ ։ൃ؀ڥͷ੍໿ w J04"OESPJEͰಈ࡞͢Δ
 w ͜Ε·ͰͷΨϫΞϓϦͱ૬ޓӡ༻Մೳ
 w KTͰ࣮૷͍ͨ͠
 


Slide 5

Slide 5 text

w J04"OESPJEͰಈ࡞͢Δ
 $ HDD w ͜Ε·ͰͷΨϫΞϓϦͱ૬ޓӡ༻Մೳ
 4%,ʹ͸ͳΔ΂͘खΛೖΕͣϥούʔΛ࡞Δ w KTͰ࣮૷͍ͨ͠
 ܥͰͷDPDPTEKT͸࣌ظঘૣ
 λʔήοτϓϥοτϑΥʔϜʹΑΔ ։ൃ؀ڥͷ੍໿

Slide 6

Slide 6 text

w J04"OESPJEͰಈ࡞͢Δ
 $ HDD w ͜Ε·ͰͷΨϫΞϓϦͱ૬ޓӡ༻Մೳ
 4%,ʹ͸ͳΔ΂͘खΛೖΕͣϥούʔΛ࡞Δ w KTͰ࣮૷͍ͨ͠
 ܥͰͷDPDPTEKT͸࣌ظঘૣ
 DPDPTEKTYͰ։ൃΛߦ͏ λʔήοτϓϥοτϑΥʔϜʹΑΔ ։ൃ؀ڥͷ੍໿

Slide 7

Slide 7 text

ϓϩδΣΫτߏ੒ ʹ͍ͭͯ

Slide 8

Slide 8 text

ઃܭίϯηϓτ w 0CKFDUJWF$ͱ+/*ͷࠩҟ͸$ϨΠϠʔͰٵऩ w QJNQMΠσΟΦϜͰ࣮૷ͱΠϯλʔϑΣʔεΛ෼཭ w Ͱ͖Δ͚ͩϞμϯͳ$Ͱهड़ w +BWB4DSJQUͱ$ͷΫϥε͸ରͰඥͮ͘ w DPDPTͱ8FCΛผʑͷ7JFX$POUSPMMFSɺ"DUJWJUZʹ͢Δ w FUDʜ

Slide 9

Slide 9 text

ઃܭίϯηϓτ w 0CKFDUJWF$ͱ+/*ͷࠩҟ͸$ϨΠϠʔͰٵऩ w QJNQMΠσΟΦϜͰ࣮૷ͱΠϯλʔϑΣʔεΛ෼཭ w Ͱ͖Δ͚ͩϞμϯͳ$Ͱهड़ w +BWB4DSJQUͱ$ͷΫϥε͸ରͰඥͮ͘ w DPDPTͱ8FCΛผʑͷ7JFX$POUSPMMFSɺ"DUJWJUZʹ͢Δ w FUDʜ

Slide 10

Slide 10 text

$ίʔυΛ+BWB4DSJQUͰ ݺͼग़ͤΔΑ͏ʹ͢Δʹ͸ʁ

Slide 11

Slide 11 text

+4#͕ඞཁ w +4# DPDPTEKBWBTDSJQUCJOEJOHT ͱ͸ʁ
 $PDPTEKT؀ڥ 4QJEFS.POLFZ Ͱ$PDPTEY"1*ίʔυΛίʔ ϧ͢ΔͨΊͷάϧʔίʔυɻ w άϧʔίʔυΛ࣮૷͢Δ͜ͱͰࣗલͷ$ίʔυ΋+BWB4DSJQU ͔ΒݺͿ͜ͱ͕ՄೳʹͳΔ w ࣗಈతʹάϧʔίʔυΛੜ੒͢Δπʔϧ΋͋Δʢ̏ܥʣ
 IUUQTHJUIVCDPNDPDPTECJOEJOHTHFOFSBUPS w ࠓճ͸9.-)UUQ3FRVFTUDQQIΛࢀߟʹάϧʔίʔυΛ࣮૷͠ ͨɻ

Slide 12

Slide 12 text

$PDPTE+4 +4# $PDPTEY "OESPJE J04

Slide 13

Slide 13 text

+4#ʹΑΔ $PDPTEKTΫϥε࣮૷ͷྲྀΕ $ΫϥεͷάϧʔίʔυΛ࡞੒ +BWB4DSJQUΤϯδϯ 4QJEFS.POLFZ ʹొ࿥ॲཧ
 "QQ%FMFHBUFBQQMJDBUJPO%JE'JOJTI-BVODIJOH ಺Ͱʹͯొ࿥͢Δ +BWB4DSJQUΛϓϩδΣΫτͷϦιʔεʹ௥Ճ͢Δ J04ͱ"OESPJEͰಉҰεΫϦϓτΛࢀর͢Δʹ͸ͦΕͧΕͷϓϩδΣΫτʹύεΛ௥Ճ͢Δ

Slide 14

Slide 14 text

+4#Ͱ࣮ݱग़དྷͨ͜ͱ w +BWB4DSJQUͷΫϥεϑΟʔϧυ ͱ͍͏͔࿈૝഑ྻʣΛ$ͷ NBQίϯςφʹม׵ w $ͷNBQΛ+BWB4DSJQUʹɾɾɾͭ·Γ૬ޓม׵Մೳ w ඇಉظॲཧͷ݁ՌΛΠϕϯτϦεφʔͰݺͼग़͢ w ϥϜμࣜ෩ίʔϧόοΫॲཧ w ͜Ε͙Β͍͕Ͱ͖Δͱେ఍ͷ͜ͱ͸Ͱ͖ͦ͏ͳؾ͕͢Δ

Slide 15

Slide 15 text

+4#ͷཁ఺ 
 d9.-)UUQ3FRVFTUΑΓd ϔομʔ ιʔε ػೳ JS_BINDED_CLASS_GLUE JS_BINDED_CLASS_GLUE_IM PL άϧʔίʔυఆٛ JS_BINDED_CONSTRUCTOR JS_BINDED_CONSTRUCTOR _IMPL KTίϯετϥΫλΛఆٛ JS_BINDED_PROP_ACCESSO R HFUUFSTFUUFSΛ࣋ͭϓϩύςΟ ఆٛ JS_BINDED_PROP_GET JS_BINDED_PROP_GET_IMPL HFUUFSͷΈΛ࣋ͭϓϩύςΟ JS_BINDED_FUNC JS_BINDED_FUNC_IMPL ϝϯόؔ਺Λఆٛ

Slide 16

Slide 16 text

+4#ͷཁ఺ 
 d($Λࣂ͍׳Βͨ͢Ίͷ"1*d άϧʔίʔυʹΑͬͯఆٛͨ͠KTΫϥεΛ($ʹΑͬͯഁյ͞Εͳ͍ Α͏ʹ͢Δඞཁ͕͋Δɻ
 ଞʹ΋ΠϕϯτϦεφʔͷ࣮૷Λߦ͏ͱ͖ʹ΋ඞਢɻ +4@$BMM'VODUJPO7BMVFΛίʔϧͨ͋͠ͱ͸+4@3FNPWF0CKFDU3PPU ΛݺΜͰ($ͷର৅ʹ໭͢͜ͱΛ๨Εͣʹߦ͏ɻ "1* ػೳ +4@"EE/BNFE0CKFDU3PPU ($ͷϧʔτʹ0CKFDUΛ௥Ճ +4@3FNPWF0CKFDU3PPU ($ͷϧʔτ͔Β0CKFDUΛ࡟আ +4@$BMM'VODUJPO7BMVF 0CKFDUඥ෇͚ΒΕͨϝιουͷ࣮ߦ

Slide 17

Slide 17 text

+4#ͷཁ఺ 
 d9.-)UUQ3FRVFTUΑΓd JS_BINDED_CONSTRUCTOR_IMPL(MinXmlHttpRequest) { MinXmlHttpRequest* req = new MinXmlHttpRequest(); req->autorelease(); js_proxy_t *p; jsval out; JSObject *obj = JS_NewObject(cx, &MinXmlHttpRequest::js_class, MinXmlHttpRequest::js_proto, MinXmlHttpRequest::js_parent); if (obj) { JS_SetPrivate(obj, req); out = OBJECT_TO_JSVAL(obj); } JS_SET_RVAL(cx, vp, out); p =jsb_new_proxy(req, obj); JS_AddNamedObjectRoot(cx, &p->obj, "XMLHttpRequest"); return JS_TRUE; }

Slide 18

Slide 18 text

௼Γελʹ͓͚Δ 8FC7JFXͱ$PDPTͷ ϨΠϠʔߏ੒

Slide 19

Slide 19 text

.PEBMߏ੒ 8FC7JFX$POUSPMMFS DPDPTEY w ௼ΓελͰ͸QSPKFDUDSFBUPSͰ࡞੒͠ ͨϓϩδΣΫτ͔Β8FC7JFXϥΠϒϥ ϦΛݺͼग़͢ߏ੒ w DPDPTEYͷWJFX͔ΒJ04Ͱ͸ 6*8FC7JFXΛ࣋ͭΧελϜ 7JFX$POUSPMMFSɺ"OESPJEͰ͸ 8FC7JFXΛ࣋ͭΧελϜ"DUJWJUZΛى ಈ w ͔Β࣮૷͞Εͨ8FC7JFXͱ͸ҧ͏ ϨΠϠʔߏ੒

Slide 20

Slide 20 text

໰୊ൃੜ

Slide 21

Slide 21 text

w J04Ͱ͸֤ϞδϡʔϧͷϏϧυઃఆΛ߹ΘͤͶ͹ͳ Βͣɺ͔ͳΓଟ͘ͷϓϩδΣΫτΛ૊Έ߹Θ͍ͤͯ ͨͷͰෳࡶɻ w J04͸શൠతʹϏϧυ͕࣌ؒ௕͘ɺDPDPTEYͷϥ ΠϒϥϦԽ΍+FOLJOTԽͳͲ։ൃޮ཰Խ͕ٸ຿ɻ w J04Ͱ͸جຊతʹϏϧυͷ໰୊͕ଟ͔ͬͨ

Slide 22

Slide 22 text

w "OESPJEͰ͸ίʔϧόοΫͨ͠Ϧεφʔ಺ͰDPDPT ͷ"1*Λίʔϧ͢Δͱྫ֎΍Τϥʔ͕ൃੜɻ w ಉ༷ʹϦεφʔ಺Ͱࣗ਎͕ఆٛͨ͠Ϋϥεͷϝιου Λ࣮ߦ͢Δͱྫ֎΍Τϥʔ͕ൃੜɻ w ίʔϧόοΫͨ͠Ϧεφʔ಺ͷεΫϦϓτͷύʔεʹ ࣦഊ͢Δέʔε΋ɻ w "OESPJEͰɾɾɾFUD w "OESPJE͸࣮ߦ࣌ͷτϥϒϧ͕ओ

Slide 23

Slide 23 text

J04ͱ"OESPJEͷڍಈͷҧ͍ ✤ J04͸6*΋DPDPT΋NBJOUISFBEͰಈ࡞ɻ஫ҙ͢ΔՕॴ͸ී௨ ͷJ04ΞϓϦͱͦ͏มΘΒͳ͍ɻ ✤ "OESPJE͸(-5ISFBEͷน͕͋Δɻ w DPDPT"1*͸(-5ISFBEͰಈ࡞͢ΔલఏͰઃܭ͞Ε͍ͯΔɻ w KTΤϯδϯͰ͋Δ4QJEFS.POLFZ΋"OESPJEͰ͸(-5ISFBE ͰεΫϦϓτͷύʔε͓Αͼ࣮ߦ͢Δ࢓༷Ͱ͋Δɻ w 6*ͳͲ"OESPJEͷ͍͔ͭ͘ͷ"1*͸NBJOUISFBEͰͷΈಈ࡞ ͢Δ࢓༷ɻ

Slide 24

Slide 24 text

ରࡦ w "OESPJE6*Λૢ࡞͢Δϝιου͸શͯ6*5ISFBE ্Ͱಈ࡞͢ΔΑ͏ʹ+BWBϨΠϠʔͰϋϯυϥʔΛ ࣮૷ w KTͷΠϕϯτϦεφʔ͕(-5ISFBEͰಈ࡞͢ΔΑ͏ ʹ+BWBϨΠϠʔͰϋϯυϥʔΛ࣮૷
 ʢDPDPTEKTͰ͸ಛʹॏཁʣ w ͭ·Γ֤"1*͕ಈ࡞͢ΔεϨουΛ࣮֬ʹ͓ͯ͘͠

Slide 25

Slide 25 text

//via jni Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable(){ public void run(){ //call Android UI API // } }); Cocos2dxActivity.getContext().runOnGLThread(new Runnable(){ public void run(){ //call cocos2d-x API // } }); DPDPTEY"OESPJE6*"1* "OESPJE.BJO5ISFBEDPDPTEY"1*

Slide 26

Slide 26 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·͢ɻ ͥͻDPDPTEKTʹ΋ औΓ૊ΜͰΈ͍ͯͩ͘͞