锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲高清资源,欧美一区二区三区四区视频,亚洲国产99http://m.shnenglu.com/sunicdavy/archive/2018/08/29/215887.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Wed, 29 Aug 2018 03:16:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2018/08/29/215887.htmlhttp://m.shnenglu.com/sunicdavy/comments/215887.htmlhttp://m.shnenglu.com/sunicdavy/archive/2018/08/29/215887.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/215887.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/215887.html涓轟簡緙栧啓鍩轟簬cellnet鐨勬柊涓浠f父鎴忔湇鍔″櫒妗嗘灦錛屾渶榪戞繁鍏ョ爺絀跺井鏈嶅姟錛孲erviceMesh絳夋蹇點傜爺絀惰繃紼嬩腑瀵筗eb鍜屾父鎴忎袱縐嶆湇鍔″櫒鏋舵瀯璁捐鏈変竴浜涘績寰楋紝緙栧啓騫惰褰曚笅鏉ャ?涓嬫枃涓紝Game琛ㄧず娓告垙鏈嶅姟鍣紝W(xué)eb琛ㄧずWeb鏈嶅姟鍣? ``
鐘舵佺紦瀛?/span>
鎵璋撶姸鎬佺紦瀛橈紝灝辨槸鍦ㄥ唴瀛樿岄潪涓撲笟鏁版嵁緙撳瓨鏈嶅姟鍣紙濡俽edis錛変腑淇濆瓨鍜屽鐞嗛昏緫鏁版嵁錛屾墜鍔ㄧ紪鍐欐榪囩▼杈冧負(fù)綣佺悙浣嗘槸鏁堢巼杈冮珮錛屼絾闅忕潃鐘舵侀昏緫澶嶆潅鎬у拰騫跺彂銆佹墿瀹歸棶棰樻彁鍑猴紝鐘舵佸悓姝ヤ細(xì)鍙樺緱瓚婃潵瓚婂鏉傘?/span>
Game:
寮轟氦浜掓х殑鏈嶅姟鍣ㄧ被鍨嬮渶瑕佸湪鏈嶅姟鍣ㄥ仛緙撳瓨錛岄昏緫緙栧啓涔熻緝涓哄鏄擄紝鏃犻渶澶勭悊浜嬪姟騫跺彂闂銆備緥濡傦細(xì)緇勯槦錛屽尮閰嶏紝鎴樻枟閫昏緫銆傛湇鍔″櫒涓嶈兘闅忔剰閲嶅惎銆?/span>
寮變氦浜掓х殑鏈嶅姟鍣ㄧ被鍨嬪彲閰嶅悎redis鍋氭垚鏃犵姸鎬佹湇鍔″櫒錛屼緥濡傦細(xì)鍏繪垚錛屾妧鑳藉崌綰э紝棰嗗彇鐗╁搧絳夈傛湇鍔″櫒闅忔椂鏀寔閲嶅惎銆?/span>
娓告垙鏈嶅姟鍣ㄤ負(fù)浜嗘彁楂樻ц兘錛屾棭鏈熸墍鏈夋湇鍔″櫒閮芥槸浣跨敤鐘舵佺紦瀛樺啓娉曠紪鍐欙紝鐗瑰埆鏄疢MORPG榪欑被寮轟氦浜掔殑娓告垙鏈嶅姟鍣ㄥ挨涓轟弗閲嶃?/span>
Web:
鍧囦負(fù)鏃犵姸鎬佹湇鍔″櫒錛屽急浜や簰銆備嬌鐢ㄤ簨鍔℃柟寮忓鐞嗗茍鍙戦昏緫錛屼緥濡傦細(xì)浜ゆ槗錛屼笅鍗曠瓑銆?/span>
鎺ㄩ侊紝鍗曠嫭鍙戦?/span>
榪欓噷鎻愬埌鐨勬墍璋撴帹閫侊紝鍗曠嫭鍙戦佹槸涓嶳PC鍖哄埆鐨勯氳鏂規(guī)硶銆俁PC瑕佹眰璇鋒眰蹇呴』鏈夊洖搴斻傝屾帹閫佸崟鐙彂閫佸垯鏇村儚鏄氱煡鍜屽箍鎾紝鏃犻渶鐩殑鏂硅繑鍥炰換浣曟秷鎭?/span>
Game:
鎵懼埌鏈嶅姟鍣ㄧ殑Session錛岀洿鎺end
閫氳繃涓漿鏈嶅姟鍣紝鎴栫О涓轟腑蹇冩湇鍔″櫒榪涜娉ㄥ唽/騫挎挱
瀹㈡埛绔殑model鏁版嵁闇瑕佹洿鏂版椂錛屾湇鍔″櫒浼?xì)涓诲姩鎺ㄩ佹秷鎭?/span>
娓告垙鏈嶅姟鍣ㄦ病鏈変弗鏍肩殑RPC璁捐闇姹傦紝鎺ㄩ佸拰鍗曠嫭鍙戦佽緝Web鏈嶅姟鍣ㄦ洿澶氥傝屼笖娓告垙鏈嶅姟鍣ㄥ浣跨敤闀胯繛鎺ワ紝鎵浠ヤ富鍔ㄦ帹閫佷篃姣擶eb鏈嶅姟鍣ㄦ潵鐨勬柟渚夸竴浜涖?/span>
Web:
灝嗘帹閫佸仛鎴愪笓鏈夌殑鏈嶅姟錛屽茍鍋氭帓闃熷拰騫跺彂澶勭悊銆?/span>
鍙敤鎬?/span>
鍚榪囨父鎴忓仠鏈嶆洿鏂幫紝鏀粯瀹濇湇鍔″櫒鍦ㄥ埛浜岀淮鐮佹椂鍋滄湇浜嗗彲涓瀹氳楠傛儴鍚с俉eb瀵規(guī)湇鍔″櫒楂樺彲鐢ㄦц姹傚緢楂橈紝娓告垙铏界劧涔熸敞閲嶆湇鍔″櫒紼沖畾鎬у拰鍙敤鎬э紝浣嗘槸鐢變簬鐗堟湰榪唬鏇存柊棰戠箒錛屽仠鏈嶆洿鏂板弽鑰岃兘鑾峰緱鐜╁鎺ュ彈銆?/span>
Game:
娓告垙瀵瑰彲鐢ㄦц姹備笉楂樸?/span>
娓告垙澶х増鏈洿鏂版椂闇瑕佸仠鏈嶆洿鏂般傛敮鎸佺儹鏇存柊鎶鏈殑鏈嶅姟鍣紙渚嬪Erlang錛孲kynet錛変粎浣跨敤鐑洿鏂頒慨澶峛ug錛屽緢灝戠洿鎺ユ洿鏂版柊鐗堟湰銆?/span>
涓嶆槸鎵鏈夌殑娓告垙鏈嶅姟鍣ㄦ敮鎸佸姩鎬佹坊鍔犳湇鍔″櫒銆?/span>
Web:
鏋侀珮鐨勫彲鐢ㄦэ紝鏈嶅姟涓嶅厑璁稿仠鏈嶆洿鏂幫紝浣跨敤钃濈豢鍙婄伆搴︽柟寮忔洿鏂版湇鍔″櫒銆?/span>
闅忔椂鍙互妯悜鎵╁睍鏈嶅姟鍣紝鎻愰珮鏈嶅姟鍣ㄥ閲忓拰鎵胯澆銆?/span>
榪炴帴鍙婁紶杈?/span>
鍧囦嬌鐢═CP浼犺緭鍗忚錛屾父鎴忔湇鍔″櫒娉ㄩ噸鎬ц兘錛岃嚜鏈夊崗璁強浜岃繘鍒跺崗璁嬌鐢ㄨ緝澶氥?/span>
Web娉ㄩ噸鍏煎鍜屾帴鍙e弸濂斤紝浣跨敤JSON鏍煎紡杈冨銆?/span>
Game:
浣跨敤闀胯繛鎺ワ紝闇瑕佷粠閫昏緫灞傜淮鎶よ繛鎺ョ姸鎬佸強澶勭悊鏈嶅姟鍣ㄤ笉鍦ㄧ嚎鎯呭喌
浣跨敤鑷湁灝佸寘鏍煎紡錛屽ぇ閮ㄥ垎浣跨敤protobuf鎴栦簩榪涘埗嫻佹牸寮忋?/span>
Web:
寰湇鍔″ぇ閮ㄥ垎浣跨敤鐭繛鎺ワ紝grpc鏀寔http2闀胯繛鎺?/span>
浣跨敤json緙栫爜鏂逛究璋冭瘯鍜岀増鏈吋瀹廣?/span>
嫻侀噺闄愬埗
浜烘暟澶氫簡錛屼換浣曟湇鍔″櫒閮芥墰涓嶄綇錛屾祦閲忛檺鍒跺拰鐧誨叆闄愬埗鑳芥湁鏁堜繚鎶ゆ湇鍔″櫒紼沖畾銆?/span>
Game:
鍗曟湇鏈変漢鏁伴檺鍒訛紝鍙互閫氳繃GM鍚庡彴璁劇疆鎸″錛岃秴榪囨棤娉曡繘鍏?/span>
Web:
闄愭祦鍣ㄤ腑闂翠歡錛屽彲浠ョ簿紜埌鏈嶅姟鎺у埗嫻侀噺
鏂祦錛岄槻姝㈤洩宕?/span>
Game:
娓告垙娌℃湁錛屼篃涓嶉渶瑕佽繖縐嶆蹇碉紝娓告垙璇鋒眰涓嶄細(xì)紿佺劧鍗囬珮錛屽嵆渚挎湁錛屼篃閫氳繃GM鍚庡彴浜轟負(fù)鎺у埗
Web:
鏂祦鍣ㄤ腑闂翠歡
鏈嶅姟鍙戠幇
濡備綍鎵懼埌鏈嶅姟鍣ㄥ湴鍧銆?/span>
鏈嶅姟鏈夊彉鍖栨椂錛岄氳繃Watch緋葷粺閫氱煡璁㈤槄鑰呮洿鏂版湰鍦扮紦瀛?/span>
鏈嶅姟鍣ㄦ病鏈夊彉鍖栨椂錛屼嬌鐢ㄦ湰鍦扮紦瀛樻壘鍒版湇鍔″湴鍧
Game:
娓告垙鏈嶅姟鍣ㄤ簰鐩鎬緷璧栧鐢ㄥ彧鍦ㄥ緢灝忕殑鑼冨洿鍐咃紝鍥犳鏃犻渶鍦ㄤ笉鍚岃璦涓嶅悓榪涚▼鏈嶅姟闂磋幏寰楀湴鍧錛屽ぇ閮ㄥ垎鍦ㄩ厤緗枃浠朵腑濉啓鍚勬湇鍔$殑IP鍙婂湴鍧鍗沖彲浜掔浉璁塊棶銆?/span>
鏃╂湡娓告垙鑷繁緙栧啓鏈嶅姟鍣ㄧ姸鎬佸強鍦板潃鍙戠幇鏈嶅姟銆?/span>
鏈夌敤redis鍋氭湇鍔″彂鐜?/span>
Web:
浣跨敤鏈嶅姟鍙戠幇緋葷粺錛屽垎甯冨紡閮ㄧ講銆傛棤闇渚濊禆閰嶇疆鏂囦歡
緗戝叧闇姹?/span>
Game:
緗戝叧澶勭悊瀹㈡埛绔笂涓嬬嚎閫氱煡錛屽績璺籌紝緇存寔榪炴帴錛岃漿鍙戯紝騫挎挱涓婁笅琛屽皝鍖?/span>
Web:
鏍規(guī)嵁璇鋒眰鍦板潃璺敱錛屾棤涓婁笅綰挎蹇碉紝鏃犲績璺熾傚箍鎾氳繃娑堟伅鎺ㄩ佺郴緇熷畬鎴?/span>
鐢變簬絎旇呬粠浜嬫父鎴忚涓氾紝瀵筗eb鏈嶅姟鍣ㄦ蹇靛湪閫愭笎鐔熸?zhèn)変腑锛岃嫢鏈夐敊璇拰涓嵀憣櫙峰悇浣嶅ぇ錆{鎸囧嚭銆?/span>
鏈漢鏂頒功銆奊o璇█浠庡叆闂ㄥ埌榪涢樁瀹炴垬銆嬶紝鐢熷姩鐨勮璦錛屼緥瀛愬甫鏈夊悇縐嶅僵铔嬶紝杞繪澗浜嗚ВGo璇█鐗規(guī)э紝鏇存湁cellnet妗嗘灦鍓栨瀽瑙e瘑
https://search.jd.com/Search?keyword=go%E8%AF%AD%E8%A8%80%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6%E5%AE%9E%E6%88%98&enc=utf-8&suggest=1.def.0.V02&wq=Go%E8%AF%AD%E8%A8%80%E4%BB%8E&pvid=145d55a92cab4b07b71326f8beb1700b


鎴橀瓊灝忕瓚 2018-08-29 11:16 鍙戣〃璇勮
]]>
鍦╓indows涓嬭繍琛孡inux Shellhttp://m.shnenglu.com/sunicdavy/archive/2017/11/27/215373.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Mon, 27 Nov 2017 07:15:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2017/11/27/215373.htmlhttp://m.shnenglu.com/sunicdavy/comments/215373.htmlhttp://m.shnenglu.com/sunicdavy/archive/2017/11/27/215373.html#Feedback3http://m.shnenglu.com/sunicdavy/comments/commentRss/215373.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/215373.html

瓚婃潵瓚婂鐨勪漢閫夋嫨鐢∕ac鎴栬匧inux鐜榪涜璺ㄥ鉤鍙伴」鐩紑鍙戙備絾鏄粛鐒舵湁澶ч儴鍒嗕漢涔?fàn)鎯簬鍦╓indows鐜涓嬭繘琛屽紑鍙戯紝姣曠珶Windows鍦ㄥ悇鏂歸潰浣跨敤榪樻槸杈冧負(fù)鏂逛究錛岀壒鍒儚鏂囦歡鐗堟湰綆$悊錛圙it錛孲VN絳夛級

鍦ㄨ法騫沖彴涓嬪紑鍙戞父鎴忔垨杞歡錛屽氨闇瑕佹湁涓濂楁柟渚跨殑鑷姩鍖栧伐鍏楓俉indows涓嬮渶瑕佷嬌鐢ㄦ壒澶勭悊錛岃櫧鐒舵湁PowerShell鍔犳寔錛屼絾榪欎笢瑗垮浜嗕篃涓嶉潬璋憋紝鍙湁涓涓鉤鍙拌兘鐢ㄣ傚ぇ瀹惰繕鏄範(fàn)鎯疞inux Shell銆傝繛Mac騫沖彴閮藉彲浠ョ敤Shell錛學(xué)indows涓婅鍋氳嚜鍔ㄥ寲鑴氭湰灝辨樉寰楅潪甯稿按灝?/p>

鎴戞浘緇忓湪欏圭洰涓嬌鐢╣o緙栧啓浜嗕竴濂楀皢閰嶇疆杞負(fù)鎵瑰鐞嗗拰Linux Shell鐨勫伐鍏楓備嬌鐢ㄨ繃紼嬭緝涓哄鏉傦紝浣嗘槸鑳借法騫沖彴榪涜琛ㄦ牸瀵煎嚭鍜屽崗璁紪璇戠瓑宸ヤ綔銆?/p>

浣嗘槸錛岃繖涓伐鍏瘋繕鏄渶瑕佸涓嶅悓鐨勫鉤鍙扮紪鍐欏濂楁ā鏉胯繘琛屼唬鐮佺敓鎴愶紝闈炲父綣佺悙銆傚鏋滄湁涓濂楄法騫沖彴鐨凷hell錛岀紪鍐欎竴嬈″氨鍙互璺ㄥ鉤鍙拌繍琛岄偅璇ュ濂姐?/p>

鏌ラ槄璧勬枡鍚庯紝涓鍏辨湁鍑犱釜鏂規(guī)錛?/p>

  1. 浣跨敤Python浣滀負(fù)鑷姩鍖栧伐鍏?榪欎釜鏂規(guī)鍏跺疄灝辨槸浣跨敤python鎶婃壒澶勭悊鍜孲hell騫茬殑浜嬫儏鐢ㄤ唬鐮佹潵瑙e喅銆備絾鍓嶆彁鏄閲嶆柊瀛︿範(fàn)Python錛屼篃闇瑕佷竴閮ㄥ垎鐔熸?zhèn)壗巰鍗曠殑Python璇硶錛屼漢涓哄涔?fàn)鎴愭湰杈冮珮锛屼篃姣旇緝璐逛簨銆?/p>

  2. 鑷繁緙栧啓涓濂楃嫭绔嬬殑鑷姩鍖栧伐鍏?榪欎釜鏂規(guī)闇瑕侀暱鏃墮棿鐨勯傞厤榪囩▼錛屽樊浠涔堟寚浠よˉ浠涔堟寚浠わ紝瀵歸」鐩繘搴︽湁涓瀹氬共鎵般?/p>

  3. 鑷繁緙栧啓Linux Shell鐨勮В閲婂櫒 榪欎釜灝辨洿闅句簡錛岃鍋氬埌100%鍏煎錛屽熀鏈笉鍙兘銆?/p>

  1. 浣跨敤Cygwin鍜孧ingw 闇瑕佷竴涓井鍨嬭繍琛屾椂榪涜Linux Shell鐨勮В閲婏紝msys澶ф鏄?8M宸﹀彸錛屽彲琛屾ц緝楂樸?/li>

鍦ㄧ爺絀禖ygwin鍜孧ingw濡備綍鏁村悎鐨勮繃紼嬩腑錛屾垜璇搷浣滅偣鍑諱簡涓涓猻h鍚庣紑鐨凩inux Shell錛岃繖鏄垜甯屾湜璁㎝ingw榪愯鐨凷hell銆傜粨鏋滃憿錛宻h鍚庣紑鐨勬枃浠跺眳鐒惰兘鍦╓indows涓嬭繍琛屻傛垜椹笂緙栧啓浜嗕竴緋誨垪鐨勪緥瀛愶紝鍙戠幇鍑犱箮瀹屽叏鍏煎甯哥敤鐨凷hell鎸囦護(hù)銆?緇忚繃鐮旂┒錛屾垜鍙戠幇Windows涓嬭兘榪愯sh鏂囦歡鏄敱Git鑷甫鐨刴sys2鎻愪緵鐨勩侻SYS2 錛圡inimal SYStem 2錛?nbsp;http://www.msys2.org/錛?/a> 鏄竴涓狹SYS鐨勭嫭绔嬫敼鍐欑増鏈紝涓昏鐢ㄤ簬 shell 鍛戒護(hù)琛屽紑鍙戠幆澧冦傚悓鏃跺畠涔熸槸涓涓湪Cygwin 錛圥OSIX 鍏煎鎬у眰錛?鍜?MinGW-w64錛堜粠"MinGW-鐢熸垚"錛夊熀紜涓婁駭鐢熺殑錛岃拷姹傛洿濂界殑浜掓搷浣滄х殑 Windows 杞歡銆?/p>

閭e氨鏄錛?span style="box-sizing: border-box; font-weight: 600;">鍙瀹夎浜咷it錛?a style="box-sizing: border-box; background-color: transparent; color: #0366d6; text-decoration-line: none;">https://git-scm.com/錛夛紝閭d箞灝卞彲浠ュ湪Windows涓嬬洿鎺ヨ繍琛孡inux Shell錛屽彧闇瑕佸皢鏂囦歡鍚庣紑鍛藉悕涓簊h鍗沖彲銆?/p>

闂繃鍛ㄨ竟鍙嬩漢鏄惁鐭ラ亾榪欎竴鍔熻兘錛岄兘璇寸煡閬擄紝鍙槸娌℃湁騫挎挱鑰屽凡錛屽鎴戠爺絀跺緢涔?#8230;…



鎴橀瓊灝忕瓚 2017-11-27 15:15 鍙戣〃璇勮
]]>
Golang 鐑洿鏂扮爺絀剁瑪璁?/title><link>http://m.shnenglu.com/sunicdavy/archive/2017/07/06/215057.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Thu, 06 Jul 2017 04:47:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2017/07/06/215057.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/215057.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2017/07/06/215057.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/215057.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/215057.html</trackback:ping><description><![CDATA[<p data-source-line="1" style="box-sizing: border-box; margin-bottom: 16px; color: #333333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 21px; widows: 1; background-color: #ffffff; margin-top: 0px !important;">鏈枃涓昏鐮旂┒娓告垙鏈嶅姟鍣ㄥ甫鐘舵佺殑鐑洿鏂伴渶姹?http鐨勬棤鐘舵佺儹鏇存柊闇姹傚凡緇忔湁鎴愮啛鏂規(guī), 鏁呬笉鍦ㄦ湰鏂囨弿榪拌寖鍥?/p><h1><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鍩烘湰姒傚康" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鍩烘湰姒傚康</h1><ul data-source-line="6" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding-left: 2em; color: #333333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 21px; widows: 1; background-color: #ffffff;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Golang鐨勭儹鏇存柊閲囩敤浠涔堟満鍒?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">浣跨敤go1.8鎻愪緵鐨刾lugin鍖呮満鍒跺疄鐜?/p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">plugin鍖呮湰韜璁$殑鐩殑鏄儹鏇存柊涔?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">plugin鍖呭叾瀹炲彧鏄敮鎸佸皢浠g爜鍒嗗埆緙栬瘧涓哄涓姩鎬佸簱,鍔ㄦ佸姞杞藉悗榪愯 騫朵笉鑳藉畬鍏ㄦ敮鎸佺被浼糃/C++鐨勫姩鎬佸簱鏂瑰紡澶勭悊浠g爜</p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">甯︾姸鎬佺殑榪涚▼鐑洿鏂扮殑鍩烘湰姒傚康鍙婅寖鍥存槸浠涔?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鏁版嵁閮ㄥ垎(model)涓嶆洿鏂? 鍙洿鏂伴昏緫閮ㄥ垎(鍑芥暟)</p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">琛ㄦ牸鍜岄厤緗洿鏂扮畻鐑洿鏂頒箞?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">綆? 浣嗕笉鏄湰鏂囨弿榪拌寖鍥?/p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鐑洿鏂拌兘鍦╳indows涓婁嬌鐢ㄤ箞?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">涓嶆敮鎸?/p></li></ul><h1><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#浠g爜鍙婄粨鏋? style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>浠g爜鍙婄粨鏋?/h1><ul data-source-line="29" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding-left: 2em; color: #333333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 21px; widows: 1; background-color: #ffffff;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鎴戣兘灝嗗師鏉ヤ竴涓猠xe鐨勪唬鐮佺紪璇戜負(fù)so鎻愪緵緇檖lugin浣跨敤涔?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙互, 浣嗘槸蹇呴』浠嶇劧淇濈暀main鍖呬綔涓烘彃浠跺叆鍙? 騫跺湪main鍖呭唴娣誨姞鎻愪緵緇檖lugin璋冪敤鍏ュ彛.</p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">濡傛灉鍔ㄦ佸簱涓病鏈塵ain鍖? 緙栬瘧鍑虹殑so鑳界敤涔?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">涓嶈兘, 鍖呭繀欏誨寘鍚玬ain, 鍚﹀垯杈撳嚭鐨勬槸.a鐨勬枃浠? plugin鍖呭姞杞戒細(xì)鎶ラ敊</p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍔ㄦ佸簱涓? 闈瀖ain鍖呯殑鐨勪唬鐮佷慨鏀硅兘鍋氱儹鏇存柊涔?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;"><span style="box-sizing: border-box; font-weight: 600;">涓嶈兘</span>!(宕╂簝浜嗗惂, 鎴戞彁浜嗕竴涓猧ssue: <a style="box-sizing: border-box; color: #4078c0; text-decoration-line: none; background-color: transparent;">https://github.com/golang/go/issues/20554</a>)</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">濡傛灉紜疄鍋氫簡淇敼, 搴曞眰浼?xì)鎶ラ? plugin was built with a different version of package</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">瑙e喅鏂規(guī)硶: 淇敼plugin鍖呭簳灞傚疄鐜板茍閲嶆柊緙栬瘧 鎵撳紑runtime/plugin.go, 娉ㄩ噴浠ヤ笅浠g爜 for _, pkghash := range md.pkghashes { if pkghash.linktimehash != *pkghash.runtimehash { return "", nil, pkghash.modulename } } 鎵ц/usr/local/go/run.bash 閲嶇紪璇?嫻嬭瘯</p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">浠g爜涓摢浜涘彲浠ヨ鏇存柊? 鏂規(guī)硶鍙互琚洿鏂頒箞? 闂寘鍛?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙兘鏇存柊鎷ユ湁闈欐佸湴鍧鐨勭粨鏋?渚嬪: 鍖呯駭鍒嚱鏁?綾諱技浜庨潤鎬佸嚱鏁?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">渚嬪: svc_0.so閲屾湁涓涓狥oo鍑芥暟, svc_1.so淇敼浜咶oo鍑芥暟瀹炵幇, 鐑洿鏂板彲瀹炵幇</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;"><span style="box-sizing: border-box; font-weight: 600;">闂寘=鍑芥暟+鎹曡幏鍙橀噺</span>, 瀹為檯涓婃槸涓涓姩鎬佺粨鏋? 娌℃湁闈欐佸湴鍧, 鏃犳硶琚洿鏂?/p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍚勭鍖呯駭鍒彉閲? 緇撴瀯浣撳彉閲? 緇撴瀯浣撴柟娉? 灞閮ㄥ彉閲忓潎涓嶈兘琚儹鏇存柊, 浣嗘槸鍙橀噺鍊間笉浼?xì)琚奖鍝?/p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鏂板緇撴瀯鍙互琚繍琛?/p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">浣跨敤緇撴瀯浣撴柟娉曡皟鐢ㄤ簡鍖呯駭鍒嚱鏁? 鍖呯駭鍒嚱鏁拌兘琚洿鏂頒箞?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙互, 铏界劧鏂規(guī)硶涓嶈兘琚洿鏂? 浣嗘柟娉曡璋冪敤鐨勫寘綰у埆鍑芥暟鐨勫湴鍧鏄浐瀹氱殑, 鎵浠ュ彲浠ヨ鐑洿鏂?/p></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">init鍖呭垵濮嬪寲鍑芥暟鑳界敤涔? 鑳借鐑洿鏂頒箞?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">瀹樻柟榪欐牱鎻忚堪:</p><pre data-source-line="71" style="box-sizing: border-box; font-stretch: normal; font-size: 11.9px; line-height: 1.45; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; word-wrap: normal; margin-top: 0px; margin-bottom: 16px; padding: 16px; overflow: auto; border-radius: 3px; background-color: #f7f7f7;"><code style="box-sizing: border-box; display: inline; overflow: visible; padding: 0px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; margin: 0px; font-size: 11.9px; border-radius: 3px; word-break: normal; border: 0px; line-height: inherit; word-wrap: normal; background: 0px 0px transparent;"><span style="box-sizing: border-box; font-weight: 700;">When</span> a plugin <span style="box-sizing: border-box; font-weight: 700;">is</span> first opened, the init functions <span style="box-sizing: border-box; font-weight: 700;">of</span> <span style="box-sizing: border-box; font-weight: 700;">all</span> packages <span style="box-sizing: border-box; font-weight: 700;">not</span> already part <span style="box-sizing: border-box; font-weight: 700;">of</span> the program are called. The main <span style="box-sizing: border-box; font-weight: 700;">function</span> <span style="box-sizing: border-box; font-weight: 700;">is</span> <span style="box-sizing: border-box; font-weight: 700;">not</span> run. A plugin <span style="box-sizing: border-box; font-weight: 700;">is</span> only initialized once, <span style="box-sizing: border-box; font-weight: 700;">and</span> cannot be closed</code></pre><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鎻掍歡絎竴嬈¤鎵撳紑鏃? 鍏跺叧鑱旂殑, 娌℃湁鎴愪負(fù)紼嬪簭鐨勪竴閮ㄥ垎鐨勬墍鏈夌殑鍖呯殑init鍑芥暟灝嗚璋冪敤. 鎻掍歡鐨刴ain鍑芥暟涓嶄細(xì)琚皟鐢? 鎻掍歡鍙細(xì)琚垵濮嬪寲涓嬈? 涓嶈兘琚叧闂?/p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍥犳, 闇瑕佹墜鍔ㄥ皢init鍑芥暟鏀規(guī)垚鑷繁鐨勫嚱鏁? 緇熶竴鍦╯o鐨刴ain鍖呴噷璋冪敤</p></li></ul><h1><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#緙栬瘧" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>緙栬瘧</h1><ul data-source-line="80" style="box-sizing: border-box; margin-top: 0px; padding-left: 2em; color: #333333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 21px; widows: 1; background-color: #ffffff; margin-bottom: 0px !important;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">濡備綍緙栬瘧鑾峰緱plugin鍖呮敮鎸佺殑鍔ㄦ佸簱</p><pre data-source-line="82" style="box-sizing: border-box; font-stretch: normal; font-size: 11.9px; line-height: 1.45; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; word-wrap: normal; margin-top: 0px; margin-bottom: 16px; padding: 16px; overflow: auto; border-radius: 3px; background-color: #f7f7f7;"><code style="box-sizing: border-box; display: inline; overflow: visible; padding: 0px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; margin: 0px; font-size: 11.9px; border-radius: 3px; word-break: normal; border: 0px; line-height: inherit; word-wrap: normal; background: 0px 0px transparent;">SVCNAME=<span style="box-sizing: border-box; color: teal;">$1</span> SVCVER=<span style="box-sizing: border-box; color: teal;">$2</span> TIMESTAMP=`date <span style="box-sizing: border-box; color: #dd1144;">'+%Y%m%d_%H%M%S'</span>` go build -v -buildmode=plugin --ldflags=<span style="box-sizing: border-box; color: #dd1144;">"-pluginpath=${SVCNAME}_${TIMESTAMP}"</span> -o ${SVCNAME}<span style="box-sizing: border-box; color: teal;">_</span>${SVCVER}.so ${SVCNAME}</code></pre><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">-buildmode=plugin鏄噸瑕佸弬鏁?/p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">--ldflags閲岀殑-pluginpath鐨勪綔鐢ㄦ槸: 姣忔緙栬瘧鐨勫唴閮ㄨ瘑鍒礬寰勯兘鏄笉鍚岀殑, 閬垮厤閲嶅鍔犺澆鐨勮鍛?/p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙傝? <a style="box-sizing: border-box; color: #4078c0; text-decoration-line: none; background-color: transparent;">https://github.com/golang/go/issues/19004</a></p></li></ul><img src ="http://m.shnenglu.com/sunicdavy/aggbug/215057.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2017-07-06 12:47 <a href="http://m.shnenglu.com/sunicdavy/archive/2017/07/06/215057.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MMO鐩鎬綅鎶鏈爺絀?/title><link>http://m.shnenglu.com/sunicdavy/archive/2017/04/08/214817.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Sat, 08 Apr 2017 06:41:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2017/04/08/214817.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/214817.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2017/04/08/214817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/214817.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/214817.html</trackback:ping><description><![CDATA[<h1>鐩鎬綅鎶鏈?/h1><p data-source-line="3" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鐩鎬綅鎶鏈ぇ瑙勬ā鍑虹幇鍦ㄩ瓟鍏戒笘鐣學(xué)LK鐗堟湰, 鐜板湪搴旂敤宸茬粡騫挎硾搴旂敤鍦ㄥ悇縐峂MORPG娓告垙涓? 涓嬮潰瀵圭浉浣嶆妧鏈殑鍋氭硶榪涜綆鍗曞綊綰蟲眹鎬?/p><h2><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#琛ㄧ幇鍒嗙被" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>琛ㄧ幇鍒嗙被</h2><h3><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鍓湰鐩鎬綅" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鍓湰鐩鎬綅</h3><p data-source-line="10" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鏃╂湡鍓湰鐨勫嚭鐜? 閬垮厤鎶㈡棶棰? 鎵浠? 鍓湰鍏跺疄鏈韓灝辨槸涓縐嶇浉浣嶆妧鏈? 鍙笉榪囧疄鐜版椂, 鎴戜滑涓鑸細(xì)灝嗗皬闃熷拰鎬墿鐩存帴棰勫垎閰嶅湪鐙珛鐨勪竴涓壇鏈疄渚嬩腑(鎵浠ュ壇鏈師鏂囦篃鏄疄渚嬬殑鎰忔?</p><h3><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鍒嗙嚎鐩鎬綅" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鍒嗙嚎鐩鎬綅</h3><p data-source-line="15" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鐩鎬綅鎶鏈繕娌℃湁姝e紡鍛藉悕鏃? 鍚屼竴涓満鏅? 鐜╁榪涘埌涓嶅悓鐨勫垎綰跨湅鍒扮殑鐜╁涓嶄竴鏍? 涔熸槸灞炰簬鐩鎬綅鐨勪竴縐? 褰撶劧, 濡傛灉鏄粍闃熺帺瀹? 鏈嶅姟鍣ㄩ粯璁や細(xì)鍒嗛厤鎵鏈夐槦浼嶇帺瀹跺湪鍚屼竴涓嚎(浣嶉潰)</p><h3><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鐪熺浉浣? style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鐪熺浉浣?/h3><p data-source-line="20" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鍓湰鐩鎬綅鍜屽垎綰跨浉浣嶅叾瀹為兘鏄潤鎬佺浉浣? 涓鏃﹁繘鍏? 涓斾笉浼?xì)鏈夊垏鎹㈡垨鑰呮販鍚堟煡鐪嬬殑榪囩▼. 鐪熺浉浣嶅彲浠ュ湪涓涓満鏅腑,鍔ㄦ佸垏鎹㈢浉浣? 鐩鎬綅鍐呭拰鐩鎬綅澶栨墍浠ヤ笉鍚?/p><p data-source-line="22" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鎴戜滑甯歌鐨勭湡鐩鎬綅琛ㄧ幇涓? <span style="box-sizing: border-box; font-weight: bolder;">鐩鎬綅涓殑瑙掕壊+鐜╁+闃熶紞鎴愬憳</span></p><p data-source-line="24" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鍦ㄦ姢閫佷換鍔℃椂, 榪樹細(xì)鍦ㄤ笂闈㈡墍瑙佽鑹蹭腑鍙犲姞涓栫晫涓殑鎵鏈夎鑹? 涔熷氨鏄, 浣犲拰闃熶紞鎴愬憳鍙互鐪嬪埌鐨勮鑹? 鍏朵粬浜虹湅涓嶅埌, 鍏朵粬浜轟篃鐪嬩笉鍒頒綘鍜屼綘鐨勯槦浼嶆垚鍛?/p><hr style="box-sizing: content-box; overflow: hidden; height: 4px; padding: 0px; margin: 16px 0px; border-width: 0px; border-style: initial; border-bottom-color: #eeeeee; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background: #e7e7e7;" /><p data-source-line="28" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">涓轟簡娓呮櫚鐨勭畝鍗曠殑鎻忚堪, 鎴戜負(fù)鐩鎬綅鍒涘緩濡備笅姒傚康涓庡悕璇?/p><h2><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鐩鎬綅瀹綋" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鐩鎬綅瀹綋</h2><p data-source-line="33" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">琛ㄧ幇涓洪櫎鐜╁澶栫殑瑙掕壊(鎬墿,浜や簰鐗╀綋涓庣浉浣嶅彲瑙佸満鏅?</p><h3><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#縐佹湁瀹綋" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>縐佹湁瀹綋</h3><p data-source-line="37" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">榪欐槸鏈甯歌鐨勪竴縐嶇浉浣嶅唴瑙掕壊</p><ul data-source-line="39" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding-left: 2em; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鎸佹湁鍙橀噺</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙朠hasingID鏃?涓篜hasingTargetID</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鐢熸垚瑙勫垯</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">褰撶帺瀹跺紑鍚浉浣嶅悗, 鍦ㄧ帺瀹剁浉浣嶅唴<span style="box-sizing: border-box; font-weight: bolder;">鐢熸垚鐨勮鑹?/span>涓虹鏈夊浣?</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">姝ゆ椂, 灝?PhasingTargetID璁劇疆涓虹浉浣嶇敓鎴愯呯殑瀹炰緥ID</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍒犻櫎瑙勫垯</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">濡傛灉鐜╁閫鍑虹浉浣? 縐佹湁瀹綋浼?xì)瀛樺湪涓孌墊椂闂存垨鎸夌収闇姹傚垹闄?/p></li></ul><h3><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鍏叡瀹綋" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鍏叡瀹綋</h3><p data-source-line="55" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">涓鑸寚鎻愬墠鏀劇疆鍦ㄥ満鏅腑, 涓栫晫鍐呬笉鍙, 浣嗘槸鑳借鍚岀浉浣嶇帺瀹跺彲瑙?涓斿悓鐩鎬綅鐜╁閮藉彲浠ヤ簰鐩稿彲瑙?姣斿: 鍙鎺ヤ簡鍚屼竴涓換鍔$殑鐜╁, 閮藉彲浠ョ湅鍒扮殑NPC</p><ul data-source-line="58" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding-left: 2em; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鎸佹湁鍙橀噺</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍙朠hasingID鏃?涓篜ublicPhasingID</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鐢熸垚瑙勫垯</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">閫氳繃鍦烘櫙緙栬緫鍣? 鏀劇疆瑙掕壊鏃? 璁劇疆鍏跺彲琚瀵熷埌鐨勪換鍔D</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">瑙掕壊琚姞杞藉悗, 灝嗕換鍔D璁劇疆鍒癝taticPhasingID</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍒犻櫎瑙勫垯</p><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鍦烘櫙鍒犻櫎, 瑙掕壊鍒犻櫎</p></li></ul><h2><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鐩鎬綅涓諱綋" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鐩鎬綅涓諱綋</h2><p data-source-line="75" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鍖呭惈鐜╁涓庡悓闃熶紞鐜╁</p><ul data-source-line="78" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding-left: 2em; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">寮鍚浉浣嶅悗, 鍙縐佹湁瀹綋+鍏湁瀹綋</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">闃熼暱瑙嗕負(fù)鐩鎬綅涓諱綋, 鍗曚漢鏃? 鑷繁涓洪槦闀?/p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">闃熶紞鍏朵粬鎴愬憳鍏變韓闃熼暱鐨勭鏈夌浉浣嶅浣?/p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">闃熶紞鍏朵粬鎴愬憳鏍規(guī)嵁鑷繁鐨凱ublicPhasingID鍖歸厤鐩爣瀵硅薄鐨凱ublicPhasingID鏃跺彲浜掔浉鍙</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">鎸佹湁鍙橀噺</p></li></ul><p data-source-line="88" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鐩鎬綅寮鍚椂, 鍙朠hasingID鏃? 涓鴻鑹插疄渚婭D</p><p data-source-line="90" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鐩鎬綅鍏抽棴鏃? 鍙朠hasingID鏃? 涓?</p><p data-source-line="92" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">PublicPhasingID</p><h2><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#鍙瑙勫垯" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>鍙瑙勫垯</h2><p data-source-line="98" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">褰撲袱涓鑹茬殑PhasingID鐩哥瓑鏃? 涓諱綋涓庣鏈夊浣撲簰鐩稿彲瑙?/p><p data-source-line="100" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">褰撲袱涓鑹茬殑PublicPhasingID鐩哥瓑鏃? 涓諱綋涓庡叕鏈夊浣撲簰鐩稿彲瑙?/p><p data-source-line="102" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff;">鍙互閫氳繃寮鍏寵緗? 鏄惁鍦ㄥ彲瑙佺殑鐩鎬綅瀹綋鍩虹涓? 鍙犲姞涓栫晫瑙掕壊(鎶ら佷換鍔?</p><h2><a href="file:///C:/Users/Davy/AppData/Local/Youdao/YNote/markdown/index.html#綰︽潫" style="box-sizing: border-box; color: #4078c0; text-decoration-line: none;"></a>綰︽潫</h2><ul data-source-line="106" style="box-sizing: border-box; margin-top: 0px; padding-left: 2em; color: #333333; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; line-height: 22.4px; widows: 1; background-color: #ffffff; margin-bottom: 0px !important;"><li style="box-sizing: border-box;">鐜╁鍚屾椂鍙兘鐪嬭1涓浉浣?/li></ul><img src ="http://m.shnenglu.com/sunicdavy/aggbug/214817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2017-04-08 14:41 <a href="http://m.shnenglu.com/sunicdavy/archive/2017/04/08/214817.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Unity3D綺掑瓙緋葷粺灞忓箷澶栦笉鏇存柊涓嶆覆鏌撻棶棰?/title><link>http://m.shnenglu.com/sunicdavy/archive/2016/08/01/214082.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 01 Aug 2016 07:23:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2016/08/01/214082.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/214082.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2016/08/01/214082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/214082.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/214082.html</trackback:ping><description><![CDATA[<p>榪欐槸涓涓猆nity3D鍏冭佺駭bug, 琛ㄧ幇灝辨槸:  瑙掕壊鍦ㄥ睆騫曡竟緙樻斁鐗規(guī)晥,  紱誨紑灞忓箷鎸佺畫涓孌墊椂闂村悗鍐嶅洖鍒板睆騫曞悗, 鍙戠幇鐗規(guī)晥閲嶆柊鎾斁. 鏄劇劧榪欐槸閿欒鐨勬晥鏋?/p> <p>瑙e喅鏂規(guī)硶:</p> <p>鍦≒articleSystem緇勪歡涓婂嬀閫塖ubEmitter, 涓嶈闂負(fù)浠涔? 鍋氬氨濂?/p> <p>鐩稿叧瀹樻柟閾炬帴</p> <p><a title="http://answers.unity3d.com/questions/218369/shuriken-particle-system-not-rendering-particles-w.html" >http://answers.unity3d.com/questions/218369/shuriken-particle-system-not-rendering-particles-w.html</a></p> <p> </p> <p>澶╃厼鐨? 4.X紼嬪簭鏃犳硶璁塊棶綺掑瓙緋葷粺鐨勫弬鏁? 鎵浠ュ彧鑳借緵鑻︾編鏈厔寮熶滑浜?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/214082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2016-08-01 15:23 <a href="http://m.shnenglu.com/sunicdavy/archive/2016/08/01/214082.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑻規(guī)灉ios搴旂敤鐨勭綉緇渋pv6閫傞厤鏀葷暐http://m.shnenglu.com/sunicdavy/archive/2016/06/16/213731.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Thu, 16 Jun 2016 06:18:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2016/06/16/213731.htmlhttp://m.shnenglu.com/sunicdavy/comments/213731.htmlhttp://m.shnenglu.com/sunicdavy/archive/2016/06/16/213731.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/213731.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/213731.html鑻規(guī)灉瑕佹眰鍦?016騫?鏈?鏃ュ悗鏂扮殑app蹇呴』鏀寔ipv6緗戠粶, 鎶鏈彂灞曢潬鑻規(guī)灉鏋滅劧娌¢敊, 浣嗗紑鍙戣呰繕鏄寮濮嬪繖璧鋒潵浜?br>榪欓噷浠嬬粛涓婾nity3D鐨勯傞厤鐨勪竴浜涚粡楠?

鍩烘湰娉ㄦ剰鐐?/h3>
  • ios ipv6閫傞厤鏃犻渶淇敼鏈嶅姟鍣? 涔熷氨鏄, 濡傛灉浣犵殑鏈嶅姟鍣ㄤ緷鐒舵槸ipv4鐨勪篃鏄彲浠ヤ嬌鐢ㄧ殑
  • 鑻規(guī)灉鐨勯傞厤鏂規(guī)鏄皢ipv4鐨勫湴鍧杞崲涓篿pv6, 鍒頒簡璺敱灞傚啀杞洖鍘葷戶緇埄鐢╥pv4緗戠粶浼犺緭

嫻嬭瘯緗戠粶鐜鎼緩

杞澆璇鋒敞鏄?http://m.shnenglu.com/sunicdavy鎴橀瓊灝忕瓚

緗戜笂鏈夊緢澶氱炕璇戜簡鑻規(guī)灉瀹樻柟鐨勬惌寤篿pv6嫻嬭瘯緗戠粶鐜鐨勬枃绔? 渚嬪:
http://www.cocoachina.com/ios/20160525/16431.html
娉ㄦ剰浠ヤ笅鍑犵偣

  • 鏃犻渶璺敱鍣ㄦ敮鎸乮pv6, 浣嗙尗(modem)蹇呴』瑕佹敮鎸乮pv6. 鍥犱負(fù)鐜板湪澶у鏁伴兘鏄厜鐚?br>浠ヤ笅鎴浘鏄厜鐚鐞嗙
    3440e3f9-12de-435b-85ab-a7a3be8b384b[6]
    鍏夌尗閲岀殑ipv6鏀寔榛樿鏄叧闂殑, 鎵浠ラ渶瑕佹墜鍔ㄦ墦寮, 鎸夐粯璁ゅ奸厤緗嵆鍙?/p>

  • 璇風(fēng)‘璁ac os緋葷粺蹇呴』鏄痮sx 10.11浠ュ悗鐨勭増鏈墠鍙互鎵撳紑NAT64

  • 姝g‘榪炴帴mac鐨刬os璁懼搴旀槸濡備笅鎴浘紺烘剰
    91f54476-4b5d-4585-a364-0da2139774c1[6]

  • 榛樿榪炴帴涓妛ifi鏃剁湅榪炴帴淇℃伅鏃? 涓鑸彧浼?xì)鏈壘U㈣壊DNS鍦板潃鎴栬呮牴鏈笉鏄劇ず
  • 鍙湁鍦ㄧ涓嬈¤闂綉緇? 渚嬪鎵撳紑嫻忚鍣ㄨ繘鍏ヤ換鎰忕綉绔欐椂, 鎵嶄細(xì)鏄劇ず涓婇潰鐨勫嚑鏉′俊鎭?
  • 濡傛灉鍙湁DNS娌℃湁IP鍦板潃鍜屽瓙緗戞帺鐮? 涓鑸槸鍏夌尗娌℃湁鎵撳紑ipv6鐨凞HCP, 娌℃湁鍒嗛厤IP
  • 榪樻湁涓縐嶆祴璇昳pv6 DHCP鏄惁姝e父宸ヤ綔鐨勬柟娉? 鍏抽棴NAT64鏃跺彲浠ヤ笂緗? 浣嗘墦寮NAT64鏃犳硶涓婄綉

杞澆璇鋒敞鏄?http://m.shnenglu.com/sunicdavy鎴橀瓊灝忕瓚

Unity3D鐨凷ocket閫傞厤

WWW綾繪湰韜凡緇忔敮鎸佷簡IPV6, 鏃犻渶澶勭悊, 榪欓噷璁茶В浣跨敤C#鍘熺敓Socket鐨勫鐞?

  • 嫻嬭瘯鐢ㄧ殑璁懼鐨刬OS鐗堟湰蹇呴』鏄?.3浠ヤ笂鐨?
  • Socket鏋勯犳椂, AddressFamily 璁劇疆涓篒nterNetworkV6鏃跺彧鏀寔ipv6緗戠粶, 浼犲叆InterNetwork鏃跺彧鏀寔ipv4緗戠粶
  • 4.7.2鍜?.4.3鐨勫綋鍓嶇増鏈湪mono灞傚茍鏈敮鎸乮pv6浠g爜閫傞厤鐨勬牳蹇冨嚱鏁癵etaddrinfo, 鍥犳闇瑕侀氳繃oc灞傚仛杞崲, 浠ヤ笅鏄唬鐮?br>榪欐浠g爜灝唃etaddrinfo鐨勫湴鍧杞崲鎴愪竴涓畬鏁村瓧絎︿覆, 鏍煎紡鏄?
    ipv4|ipv4鍦板潃|ipv6|ipv6鍦板潃|

P.S. copyStr榪欑鐢ㄦ硶鍙傝冧簡http://www.codeinsect.net/blog/2016/05/26/unity-ipv6-socket-%E6%94%AF%E6%8C%81%EF%BC%8C%E5%B7%B2%E6%B5%8B%E8%AF%95%E9%80%9A%E8%BF%87/
浼?xì)閫犳垚鍐呭瓨娉勯湶, 濡傛灉鏈夋洿濂界殑鏂規(guī)硶嬈㈣繋鍙嶉

杞澆璇鋒敞鏄?http://m.shnenglu.com/sunicdavy鎴橀瓊灝忕瓚

iosaddrinfo.mm

   1:  #include <sys/socket.h>
   2:  #include <netdb.h>
   3:  #include <arpa/inet.h>
   4:  #include <err.h>
   5:  #define OUTSTR_SIZE 4096
   6:  extern "C"
   7:  {
   8:      const char* copyStr( const char* str )
   9:      {
  10:          char* s = (char*)malloc(strlen(str) + 1);
  11:          strcpy(s, str);
  12:          return s;
  13:      }
  14:      const char* IOSGetAddressInfo(const char *host )
  15:      {
  16:          if( NULL == host )
  17:              return copyStr("ERROR_HOSTNULL");
  18:          char outstr[OUTSTR_SIZE];
  19:          struct addrinfo hints, *res, *res0;
  20:          memset(&hints, 0, sizeof(hints));
  21:          hints.ai_family = PF_UNSPEC;
  22:          hints.ai_socktype = SOCK_STREAM;
  23:          hints.ai_flags = AI_DEFAULT;
  24:          printf("getaddrinfo: %s\n", host);
  25:          int error = getaddrinfo(host, "http", &hints, &res0);
  26:          if (error != 0 )
  27:          {
  28:              printf("getaddrinfo: %s\n", gai_strerror(error));
  29:              return copyStr("ERROR_GETADDR");
  30:          }
  31:          memset( outstr, 0, sizeof(char)*OUTSTR_SIZE );
  32:          struct sockaddr_in6* addr6;
  33:          struct sockaddr_in* addr;
  34:          const char* solvedaddr;
  35:          char ipbuf[32];
  36:          for (res = res0; res; res = res->ai_next)
  37:          {
  38:              if (res->ai_family == AF_INET6)
  39:              {
  40:                  addr6 =( struct sockaddr_in6*)res->ai_addr;
  41:                  solvedaddr = inet_ntop(AF_INET6, &addr6->sin6_addr, ipbuf, sizeof(ipbuf));
  42:                  strcat ( outstr, "ipv6|");
  43:                  strcat ( outstr, solvedaddr);
  44:              }
  45:              else
  46:              {
  47:                  addr =( struct sockaddr_in*)res->ai_addr;
  48:                  solvedaddr = inet_ntop(AF_INET, &addr->sin_addr, ipbuf, sizeof(ipbuf));
  49:                  strcat ( outstr, "ipv4|");
  50:                  strcat ( outstr, solvedaddr);
  51:              }
  52:              strcat ( outstr, "|");
  53:          }
  54:          return copyStr(outstr);
  55:      }
  56:  }
杞澆璇鋒敞鏄?http://m.shnenglu.com/sunicdavy鎴橀瓊灝忕瓚

iosaddrinfo.h

   1:  #pragma once
   2:  extern "C"{
   3:      const char* IOSGetAddressInfo(const char *host );
   4:  }
  • C#灞傜殑澶勭悊鍋囪澶氫釜鍦板潃涓兘鏄粺涓鐨勫湴鍧綾誨瀷,瑕佷箞鍏ㄦ槸v4瑕佷箞鍏ㄦ槸v6
    榪斿洖緇欏畾鐨刪ost鍐呭涓狪P鍦板潃, 鍙互渚涘鐞嗗鏉傜殑鍖楃綉閫?鍗楃數(shù)淇¢棶棰?/li>

   1:  using System;
   2:  using System.Net;
   3:  using System.Net.Sockets;
   4:  using System.Runtime.InteropServices;
   5:  using UnityEngine;
   6:  using System.Collections;
   7:  using System.Collections.Generic;
   8:  public class IOSIPV6
   9:  {
  10:      [DllImport("__Internal")]
  11:      private static extern string IOSGetAddressInfo(string host );  
  12:      public static IPAddress[] ResolveIOSAddress(string host, out AddressFamily af)
  13:      {
  14:          af = AddressFamily.InterNetwork;
  15:          var outstr = IOSGetAddressInfo(host);
  16:          Debug.Log("IOSGetAddressInfo: " + outstr);
  17:          if (outstr.StartsWith ("ERROR")) 
  18:          {
  19:              return null;
  20:          }
  21:          var addressliststr = outstr.Split('|');
  22:          var addrlist = new List<IPAddress>();
  23:          foreach (string s in addressliststr)
  24:          {
  25:              if (String.IsNullOrEmpty(s.Trim()))
  26:                  continue;
  27:              switch( s )
  28:              {
  29:                  case "ipv6":
  30:                      {                        
  31:                          af = AddressFamily.InterNetworkV6;
  32:                      }
  33:                      break;
  34:                  case "ipv4":
  35:                      {
  36:                          af = AddressFamily.InterNetwork;
  37:                      }
  38:                      break;
  39:                  default:
  40:                      {
  41:                          addrlist.Add(IPAddress.Parse(s));
  42:                      }
  43:                      break;
  44:              }
  45:          }
  46:          return addrlist.ToArray();
  47:      }
  48:  }
杞澆璇鋒敞鏄?http://m.shnenglu.com/sunicdavy鎴橀瓊灝忕瓚

鍙傝冮摼鎺?/h3>

瀹樻柟鏂囨。
https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

鏌愪漢鐨勮В鍐蟲柟妗?br>http://www.codeinsect.net/blog/2016/05/26/unity-ipv6-socket-%E6%94%AF%E6%8C%81%EF%BC%8C%E5%B7%B2%E6%B5%8B%E8%AF%95%E9%80%9A%E8%BF%87/
娉ㄦ剰, 姝ゆ柟妗堜腑鐨勬柟娉曞彲鐢? 浣嗘槸鍦板潃騫朵笉鑳借В鍐沖崡鍖椾簰閫氱殑闂

]]>璧勬簮綆$悊妯″紡涔婾nity3D鐨凱refab涓庣數(shù)瀛愯〃鏍?/title><link>http://m.shnenglu.com/sunicdavy/archive/2016/03/24/213107.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Thu, 24 Mar 2016 08:33:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2016/03/24/213107.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/213107.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2016/03/24/213107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/213107.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/213107.html</trackback:ping><description><![CDATA[<p>鏈榪戝湪欏圭洰涓繘琛岃祫婧愪紭鍖? 鎴戜滑鐨勯」鐩竴鐩翠互鏉ラ兘鏄互浼犵粺鐨勭數(shù)瀛愯〃鏍奸厤緗負(fù)涓績鐨勮祫婧愰┍鍔ㄥ姞杞芥柟娉? 鎷胯鑹叉惡甯︾殑鐗規(guī)晥瑕佹挱鏀懼嚭鏉ヨ繖涓猚ase鏉ュ叿浣撶偣璇村氨鏄?</p> <p>1. 鎶鑳介儴鍒嗙殑鐗規(guī)晥鍙互閬嶅巻鍔ㄤ綔琛ㄦ挱鏀劇殑鎵鏈夌壒鏁坕d, 鎻愬墠棰勮澆</p> <p>2. buff綾葷壒鏁堟槸鍔ㄦ佺‘瀹氱殑,鏃犳硶鍒嗘瀽. 闇瑕侀氳繃瑙掕壊琛ㄦ坊鍔犺祫婧恑d鍦ㄥ姞杞借鑹叉椂鍔犺澆鐗規(guī)晥</p> <p>榪欑鍋氭硶鐨勭己鐐?</p> <p>褰撹鑹茬壒鏁堟晥鏋滆皟鏁存椂, 緹庢湳鍜岀瓥鍒掗渶瑕佽皟鏁寸壒鏁坕d琛? 澶氬嚭鏉ヤ笉鐢ㄧ殑鐗規(guī)晥涔熷姞杞芥槸鎰熻涓嶅嚭鏉ョ殑, 鍒嗘瀽涔熸槸寰堝洶闅劇殑</p> <p>鎵浠ヨ繖縐嶄互浼犵粺鐨勭數(shù)瀛愯〃鏍奸厤緗負(fù)涓績鐨勬柟寮忓湪Unity3D閲? 鍐呭瓨, 鍖呬紭鍖栦細(xì)鏄釜澶ч棶棰?</p> <p> </p> <p>閭d箞, 浠涔堟槸Unity3D鐨勫紑鍙戞牳蹇冩濇兂? </p> <p>闄や簡緇勪歡鎬濇兂澶? 灝辨槸Prefab, 璐交鏁翠釜緙栬緫鍣ㄥ強寮曟搸鑷鑷崇粓</p> <p> </p> <p>澶勭悊瑙掕壊鎼哄甫鐗規(guī)晥鍔犺澆鍚庢挱鏀劇殑榪欎釜case, 鐢≒refab涓轟腑蹇冪殑璧勬簮綆$悊鏉ュ仛鐨勮瘽, 澶ф灝辨槸榪欐牱:</p> <p>1. 紼嬪簭緙栧啓涓涓鑹茬壒鏁堝垪琛ㄨ剼鏈? 鎶奓ist鏆撮湶鍑烘潵鍙互鍦ㄧ紪杈戝櫒閲屼嬌鐢?/p> <p>2. 緹庢湳鍦ㄥ仛鎶鑳芥椂, 鎶婅鐢ㄥ埌鐨勭壒鏁堟嫋鎷藉埌List涓?/p> <p>3. 鐗規(guī)晥鏃犻渶鍐嶇紪鍒跺叏灞ID緙栫爜</p> <p>4. 絳栧垝鏍規(guī)嵁榪欎釜瑙掕壊鎸傛帴鐨勭壒鏁堢儲寮? 鍦ㄩ厤緗〃閲屾坊鍔犳挱鏀炬寚浠?/p> <p>榪欐牱鍋氱殑浼樼偣:</p> <p>瑙掕壊寮曠敤鍒扮殑璧勬簮鎵嶄細(xì)琚墦鍒版渶緇堟父鎴忓寘鍐? 涓嶄嬌鐢ㄧ殑璧勬簮鏄笉浼?xì)琚姞铦茬?/p> <p> </p> <p>綾諱技鐨? 鍦║I鐗規(guī)晥閲? 涔熷簲璇ユ槸灝嗚鎾斁鐨勭壒鏁堟寕鎺ュ埌瀵硅薄涓? 鑰屼笉鏄姩鎬侀氳繃浠g爜鍘誨姞杞?/p> <p>鍦║nity3D涓? Prefab灝嗗浘鐗?Shader, 鐗規(guī)晥, 鑴氭湰絳変竴鍒囧鉤絳夌湅寰? 鍙鏈夊紩鐢? 涓嬈℃у姞杞? </p> <p>鍚屾椂, 涔熷彲浠ラ氳繃闈欐佸伐鍏峰垎鏋怭refab. </p> <p>濡傛灉鏄氳繃浠g爜鍔犺澆鐨勬晥鏋? 鍒欏彧鑳借紼嬪簭鍛樺仛浼樺寲, 榪欑榪囩▼鏃犳硶璁︰nity3D瀹樻柟鍚庢湡鎻愪緵鐨勫伐鍏瘋繘琛屼紭鍖?/p> <p> </p> <p>鎵浠? 鎺ㄨ崘浣跨敤Prefab涓轟腑蹇冪殑璧勬簮綆$悊妯″紡</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/213107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2016-03-24 16:33 <a href="http://m.shnenglu.com/sunicdavy/archive/2016/03/24/213107.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Google Protobuf 3鐗堟湰浠嬬粛http://m.shnenglu.com/sunicdavy/archive/2016/01/25/212739.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Mon, 25 Jan 2016 06:23:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2016/01/25/212739.htmlhttp://m.shnenglu.com/sunicdavy/comments/212739.htmlhttp://m.shnenglu.com/sunicdavy/archive/2016/01/25/212739.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/212739.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/212739.html鏈枃緙栧啓鏃? Google 瀹樻柟鐨?protobuf 鐗堟湰鏄?.0.0beta

涓嬮潰浠嬬粛涓媝roto3鐨勪竴浜涚粏鑺傚彉鍖?/p>

Proto3鐨勮娉曞彉鍖?/h1>

璇硶鏍囪

榪欎釜鐗堟湰鐨刾rotoc鐨刾rotobuf緙栬瘧鍣ㄥ凡緇忓彲浠ユ敮鎸乸roto2璇硶鍜宲roto3鐨勮娉?/p>

濡傛灉浣犵殑proto鏂囦歡娌℃湁娣誨姞syntax璇存槑鐨勮瘽, 鐢ㄨ繖涓増鏈殑緙栬瘧鍣ㄤ細(xì)鎶ラ敊, 鎻愮ず浣犻粯璁roto2鏀寔, 璇鋒坊鍔犺娉曟爣璁?/p>

syntax = "proto2";

 

optional涓嶉渶瑕佷簡

鍙繚鐣檙epeated鏍囪鏁扮粍綾誨瀷, optional鍜宺equired閮借鍘繪帀浜?/p>

瀹為檯浣跨敤璇佹槑, required鐨勮璁$‘瀹炴槸铔嬬柤, C++鐨勮皟璇曠増浼?xì)寮瑰嚭assert,release鐗堝拰optional涔熸病鍟ュ尯鍒?/p>

map鏀寔

map緙栧啓鏍煎紡涓?/p>

map<key_type, value_type> map_field = N;
渚嬪:
map<string, Project> projects = 3;
浠g爜鐢熸垚紜鏀寔map, 榪欏浜庡緢澶氳璦鏉ヨ鍙堝彲浠ュ伔鎳掍簡

瀛楁default鏍囪涓嶈兘浣跨敤浜?/h2>

浣嶄簬proto2璇硶鐨勫瓧孌祅umber鍚庣殑[default=XX]

榪欎釜涓滆タ涓嶈兘鐢ㄤ簡, 鐞嗙敱鏄?

瀵逛簬鍚屼竴孌靛簭鍒楀寲鍚庣殑鏁版嵁, 濡傛灉搴忓垪鍖栫鐨刣efault鍜屽弽搴忓垪鍖栫鐨刣efault鎻忚堪涓嶄竴鏍蜂細(xì)瀵艱嚧鏈緇堢粨鏋滃畬鍏ㄤ笉涓鑷?/p>

鍗? 鍚屼竴涓暟鎹袱涓粨鏋? 榪欐槸涓嶅彲棰勬祴鐨勭粨鏋? 鍥犳騫叉帀榪欎釜鐗規(guī)?/p>

涓嶈繃鏈漢瑙夊緱, 瀵逛簬娓告垙鏉ヨ, 榪欎釜鍔熻兘鏈韓鍙互鍘嬬緝寰堝鏁版嵁,铏界劧浼?xì)鏈夐殣鎮(zhèn)?/p>

 

鏋氫婦榛樿鍊間竴瀹氭槸0

proto2閲岀殑榛樿鍊兼槸鏋氫婦鐨勭涓涓獀alue瀵瑰簲鐨勫? 涓嶄竴瀹氫負(fù)0

proto3鍦ㄤ綘瀹氫箟value鏃? 寮哄埗瑕佹眰絎竴涓煎繀欏諱負(fù)0

榪欎釜淇敼涓洪伩鍏嶉殣鎮(zhèn)h繕鏄湁甯姪鐨?/p>

娉涘瀷鎻忚堪鏀寔

any綾誨瀷, 鍙互浠h〃浠諱綍綾誨瀷, 鍙互鍏堣榪涙潵, 鍐嶈繘琛岃В鏋? 娌″叿浣撶敤, 姝ュ瓙璺ㄥぇ浜嗘曟壇鍒拌泲

鏀寔json搴忓垪鍖?/h2>

榪欎釜鏋佸ソ, json鍐嶆琚悓鍖栦簡

澧炲姞浜嗗縐嶈璦鏀寔

js, objc, ruby, C#絳夌瓑

鐒惰? C#鐗堟湰鐨勫熀紜runtime搴撴槸鐢–# 6.0鐨勮娉曞啓鐨?榪欏浜嶶nity mono紲栦紶2.0鏉ヨ, 紜疄鎵埌铔嬩簡,娌℃硶鐢?/p>

Protobuf鐜板湪浣跨敤CMAKE鍋氶厤緗郴緇?/h2>

緙栬瘧璧鋒潵紼嶅井楹葷儲, 榪樿涓嬩釜琚鎺夌殑cmake鈥?/p>

 

 

絎笁鏂瑰簱閲屽浜巔roto3鐨勫彉鍖?/h1>

Golang鐨勫畼鏂筽rotobuf鏀寔: https://github.com/golang/protobuf

鐢熸垚浠g爜涓殑緇撴瀯浣撳瓧孌電被鍨嬪彉鍖?/h2>

瀵逛簬proto2鐨勬枃浠? 鐢熸垚鐨刧o浠g爜涓殑緇撴瀯浣撲緷鐒朵嬌鐢ㄧ被鍨嬫寚閽堜綔涓洪粯璁ゅ瓨鍌? 鍏煎鑰佺殑緋葷粺

瀵逛簬proto3鐨勬枃浠? 鐢熸垚鐨刧o浠g爜涓殑緇撴瀯浣撶洿鎺ヤ嬌鐢ㄥ瓧孌典綔涓洪粯璁ゅ瓨鍌? 涓嶅啀浣跨敤GetXXX鏉ヤ綔涓哄瓧孌靛艱闂? 璧嬪兼椂涔熸棤闇浣跨敤proto.綾誨瀷() 鍑芥暟榪涜鎸囬拡綾誨瀷瀛楁鍊煎垱寤?

榪欎釜璋冩暣寰堟槸鏂逛究, 浣嗕涪澶變簡optional鍒ゆ柇鍔熻兘, 瀵瑰簲C++閲屽氨鏄痟asXXX鐨勫姛鑳? 涓嶈繃濂芥榪欎釜閫昏緫鐜板湪鐢ㄧ殑涓嶅浜?/p>

榪欎釜淇敼澶ф涔熸槸閰嶅悎json搴忓垪鍖栨潵鍋氱殑, go榛樿鐨刯son搴忓垪鍖栨椂, 鏃犳硶浣跨敤proto2鐢熸垚鐨勭粨鏋勪綋鐨? 鍥犱負(fù)閮芥槸鎸囬拡,鏃犳硶璧嬪?.

 

鏂扮増protoc-gen-go鐨勬彃浠朵細(xì)鐢熸垚descriptor鐨勫帇緙╂暟鎹?/h2>

鏂版彃浠朵細(xì)緇欐瘡嬈$敓鎴愮殑鏂囦歡娣誨姞榪欐牱涓孌典唬鐮?/p>

var fileDescriptor0 = []byte{
    // 220 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x8f, 0xcd, 0x4e, 0xc5, 0x20,
    0x10, 0x85, 0x53, 0xbd, 0x35, 0x32, 0xb7, 0xdd, 0x4c, 0x5c, 0xb0, 0x70, 0x71, 0xd3, 0xb8, 0x70,
    0x75, 0x17, 0xfa, 0x04, 0xc6, 0xd8, 0xb8, 0x50, 0x63, 0xa8, 0x2f, 0x80, 0xed, 0x44, 0x89, 0x28,
    0x04, 0xc6, 0xbf, 0x47, 0xf1, 0x6d, 0x95, 0x49, 0x8d, 0x4d, 0x5c, 0x01, 0xdf, 0x39, 0x7c, 0x30,
    0x00, 0x1c, 0x82, 0xdf, 0xc6, 0x14, 0x38, 0xe0, 0xaa, 0xec, 0xbb, 0x37, 0x68, 0x2e, 0x3e, 0x62,
    0x48, 0x7c, 0x49, 0x76, 0xa2, 0x84, 0x47, 0xd0, 0xde, 0x96, 0xf8, 0xee, 0x33, 0xd2, 0x8d, 0x7d,
    0x26, 0x5d, 0x6d, 0xaa, 0x63, 0x65, 0xda, 0xb8, 0x84, 0xd8, 0x41, 0x63, 0xc2, 0x7b, 0xef, 0xc8,
    0x4f, 0x52, 0xda, 0x91, 0x52, 0x93, 0x16, 0x0c, 0x0f, 0x41, 0x89, 0xa9, 0x77, 0x9e, 0xf4, 0xae,
    0x14, 0x54, 0xfc, 0x05, 0xdd, 0x57, 0x05, 0x4a, 0xba, 0xd7, 0xc4, 0x16, 0xb7, 0x80, 0x03, 0x27,
    0xf7, 0xf2, 0x70, 0x72, 0xe5, 0x32, 0x0f, 0xd1, 0x3b, 0xa6, 0x34, 0x5b, 0x31, 0xff, 0x4b, 0x70,
    0x03, 0x6b, 0x43, 0x91, 0x2c, 0x9f, 0x3f, 0xd2, 0xf8, 0x24, 0xf6, 0x7d, 0xb3, 0x4e, 0x7f, 0x08,
    0x0f, 0xa0, 0x3e, 0xf3, 0xce, 0x66, 0xbd, 0x12, 0x49, 0x6d, 0xcb, 0xa1, 0x4c, 0x37, 0xbf, 0xf3,
    0xb3, 0xbc, 0x8e, 0xac, 0x6b, 0xb9, 0xd9, 0xe6, 0x25, 0xbc, 0xdf, 0x93, 0x6f, 0x9e, 0x7e, 0x07,
    0x00, 0x00, 0xff, 0xff, 0x0c, 0x9f, 0x10, 0xa8, 0x2e, 0x01, 0x00, 0x00,
}

瀵逛簬meta淇℃伅鐨勬彁鍙栬繕鏄緢鏂逛究鐨?/p>

鐒惰?/p>

瀵逛簬澶氫釜鏂囦歡鐨勭敓鎴? 榪欐牱鍋氶潪甯哥殑楹葷儲, 鍥犱負(fù)榪欎釜瀛楁浼?xì)閲嶅瀵艰嚧缂栬瘧閿欒?/p>

寰堝浜哄湪璁哄潧閲屽悙妲? 瀹樻柟緇欏嚭鐨勮В鍐蟲柟娉曟槸, 浣跨敤protoc涓嬈℃т紶鍏ヤ竴涓猵ackage涓嬬殑鎵鏈夌殑proto鐩存帴鐢熸垚涓涓猤o

鑰屼笉鏄幇鍦ㄧ殑涓涓猵roto涓涓猤o

鐢熸垚浠g爜浼?xì)鑷姩娉ㄥ唽鍒板叏灞, 騫跺彲浠ユ柟渚跨殑鏌ヨ

浠ュ墠榪欎釜浠g爜闇瑕佽嚜宸辨潵鍋? 鐜板湪瀹樻柟鎻愪緵浜嗘敮鎸? 寰堟槸鏂逛究

鐒惰? 涓轟粈涔堜笉鏀寔閬嶅巻鈥?孌嬪康鍟? 鍙堣鑷繁鍔ㄦ墜浜?/p>

]]>
pp鍔╂墜鏈嶅姟鍣ㄧ鏀粯鐨凴SA鐨勫钁╁叕閽ヨВ瀵嗚璁?/title><link>http://m.shnenglu.com/sunicdavy/archive/2015/10/12/211993.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 12 Oct 2015 06:27:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2015/10/12/211993.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/211993.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2015/10/12/211993.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/211993.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/211993.html</trackback:ping><description><![CDATA[<p>鏈榪戞帴鍏p鍔╂墜鐨勬湇鍔″櫒绔敮浠? 鎸夌収PP瀹樻柟鎻愪緵鐨勬枃妗f潵鐪? 闇瑕佹湇鍔″櫒鍋歊SA鐨勯獙璇? </p> <p>棣栧厛鎴戜滑鏉ョ湅涓?/p> <h1>RSA鐨勫嚑涓爣鍑嗙敤娉?/h1> <h2>闈炲縐板姞瀵嗚В瀵?/h2> <p>鍋囪A瑕佹妸鍐呭浼犺緭緇橞</p> <p>1. B鐢熸垚RSA鐨勫叕閽ュ拰瀵嗛挜, 榪欐槸鎴愬鍑虹幇鐨? 瀵嗛挜鐢盉淇濆瓨, 鎶婂叕閽ュ憡璇堿</p> <p>2. A鐢˙鐨勫叕閽ュ姞瀵嗗唴瀹? 騫舵妸瀵嗘枃鍐呭浼犺緭緇橞</p> <p>3. B鐢ㄥ瘑閽ヨВ瀵?/p> <h2>楠岃瘉</h2> <p>璇佹槑鏌愪釜鍐呭鏄綘鍙戠殑, 鑰屼笉鏄鍒漢鍐掑悕欏舵浛, 渚嬪git鐨刾ush涓氨甯︽湁榪欎釜鍔熻兘</p> <p>鍋囪A鏈夊唴瀹?  B瑕侀獙璇佸唴瀹圭‘瀹炵敱A鍙戝嚭</p> <p>1. A鐢熸垚鍏挜鍜屽瘑閽?/p> <p>2. A灝嗗唴瀹瑰仛涓涓猦ash, 鎶奾ash鐮佺敤鑷繁鐨勫瘑閽ュ姞瀵嗗茍鎶婅繖孌靛瘑鏂囧彂緇橞</p> <p>3. B鐢ˋ鐨勫叕閽ュ瀵嗘枃榪涜楠岃瘉, 鍗沖彲紜瀵嗘枃鏄惁鐢盇鍙戝嚭</p> <p> </p> <p>鍙互鐪嬪嚭, 涓ょ鐢ㄦ硶閮芥槸鍏稿瀷鐨勯潪瀵圭О鐢ㄦ硶</p> <p>浣哖P鍔╂墜鍗村共浜嗕歡紲炲鐨勪簨鎯?</p> <h1>闈炲縐板綋瀵圭О綆楁硶鍔犺В瀵?/h1> <p>鍦≒P SDK瀹樻柟鏂囨。閲? 鎴戜滑鎵懼埌浜哖HP璇█鐨勯獙璇佹柟娉? 鏂規(guī)硶閲屼嬌鐢ㄤ簡榪欐牱涓涓狝PI</p> <p><a >openssl_public_decrypt</a></p> <p>浠庡畼鏂規(guī)枃妗g湅寰楀嚭榪欎釜浣跨敤openssl鐨勭畻娉曞簱</p> <p> </p> <p>綾諱技鐨? 榪樻湁Java, C++, Python璇█鐨勫鐞嗘柟娉?/p> <p>鍏朵腑, C++涔熸槸鐢ㄧ殑openssl, Python鍒欐槸闇瑕侀緙栬瘧C搴擄紝鍦║buntu涓嬮渶瑕佹墜宸atch M2Crypto鐨刜ssl.c鏂囦歡.</p> <p> </p> <p>鍏堜笉璇磋繖浜涢潪姝h鐨勭紪璇?patch鏂規(guī)硶浼?xì)閫犳垚澶氬ぇ鐨勯棶棰? 鍗曞氨榪欎釜鐢ㄥ叕閽ヨВ瀵嗗氨寰堣泲鐤?/p> <p>浠庝箣鍓嶇殑RSA綆楁硶涓簡瑙? 鍙湁瀵瑰叕閽ヨ繘琛岄獙璇佺殑鏂規(guī)硶, 涔熷氨鏄彧鑳藉緱鍒版槸榪樻槸涓嶆槸鐨勭粨鏋? 浣哖P鐨凷DK鍒欒姹傚繀欏葷敤鍏挜瑙e瘑鈥?/p> <p>瑙e嚭鐨勬暟鎹負(fù)涓孌礿son, 浠ュ姣旀槸鍚︽湁璁㈠崟綃℃敼.</p> <p> </p> <p>閭d箞榪欑鍋氭硶灝辯瓑鏁堜簬, 鐢ㄦ渶綆鍗曠殑寮傛垨+涓涓叕閽ヨ繘琛岃鍗曞姞瀵? 鐒跺悗鍚屾牱鐢ㄨ繖涓叕閽ヨ繘琛岃В瀵?/p> <p>鍙笉榪囩敤RSA鎰熻寰堥珮綰р?/p> <p>榪欑鍋氭硶涓鏃﹀叕閽ュ湪PP鍔╂墜鏈嶅姟鍣ㄦ垨鑰呯帺瀹剁殑寮鍙戞湇鍔″櫒, 鐢氳嚦婧愪唬鐮佹硠闇? 閭d箞椹笂灝辨湁寰堝ぇ鐨勪吉閫犺鍗曠殑鍗遍櫓</p> <p> </p> <p>鎴戞妸榪欎釜鍋氭硶鍙戠粰鏈嬪弸鐪? 浠栦滑璇? 鍏跺疄PP鍔╂墜鐨勫紑鍙戣呭彧綆$敤浜哛SA, 璺熶紶杈撲笉鏄槑鏂囧氨濂戒簡, 鑷充簬浠涔堜俊鎭畨鍏? 閮芥槸灞?</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/211993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2015-10-12 14:27 <a href="http://m.shnenglu.com/sunicdavy/archive/2015/10/12/211993.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓寮傜殑Unity3D鐨勭綉緇滈棶棰?/title><link>http://m.shnenglu.com/sunicdavy/archive/2015/07/06/211162.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 06 Jul 2015 08:11:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2015/07/06/211162.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/211162.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2015/07/06/211162.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/211162.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/211162.html</trackback:ping><description><![CDATA[<p>欏圭洰涓? 鎴戜滑浣跨敤Unity3D鍋氬鎴風(fēng)寮鍙? 鑷繁鎾鎬簡涓濂桟#緗戠粶搴? 闅忕潃欏圭洰鐨勬帹榪? 闂鏉ヤ簡:</p> <h1>闂</h1> <p><strong>姣忔Unity3D緙栬緫鍣ㄦ墦寮鏃? 榪炴帴鏈嶅姟鍣ㄩ兘浼?xì)鏈変竴瀹氬嚑鐜囧け璐? 闇瑕佸弽澶嶅叧闂啀鎵撳紑緙栬緫鍣?~4嬈″悗, 鎵嶈兘姝e父鎺ユ敹鍒板皝鍖?/strong></p> <p><font color="#ffffff">杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚</font><a href="http://m.shnenglu.com/sunicdavy"><font color="#ffffff">http://m.shnenglu.com/sunicdavy</font></a></p> <h1><strong>鎺㈢儲</strong></h1> <p>鎴戜滑鐨勭綉緇滃簱鍩轟簬C#鐨凚egin/End緋葷殑寮傛Socket, 榪欑socket鏇存帴榪慍++鐨刟sio妯″瀷, 鎾歌搗鏉ョ壒鐖?</p> <p>1. 鏍規(guī)嵁緇忛獙, 榪欎釜璇″紓闂澶氬崐璺熷綰跨▼鏈夊叧緋? 澶嶆煡浠g爜, 鏃犳晥. </p> <p>2. 鎵懼弸浜烘洿鎹㈢綉緇滃簱, 鎹㈤樆濉濻ocket瀹炵幇鍜孲ocketAsyncEventArgs榪欑瀹炵幇閮借瘯榪? 浠嶇劧鏃犳硶瑙e喅闂.</p> <p>3. 鎺ヤ笅鏉ヨ繕鏄Begin/End緋葷殑緗戠粶搴撹繘琛屾棩蹇楄拷韙? 鍙戠幇, 鍙戦佷細(xì)鎬繪槸鎴愬姛, 榪炴帴鎴愬姛鍜屾帴鏀跺皝鍖呮湁涓瀹氬嚑鐜囦細(xì)鏂帀</p> <p>鎴戜滑騫舵病鏈夊崟鐙紑綰跨▼鏉ュ鐞? 鑰屾槸鍒╃敤搴曞眰寮傛閫氱煡, 鐒跺悗鏈夌嚎紼嬪畨鍏ㄩ槦鍒楀垏鎹㈠埌涓葷嚎紼嬭繘琛屾姇閫? 鍥犳搴曞眰鐨勭嚎紼嬫甯告ф槸鏁翠釜闂鐨勭劍鐐?/p> <p>鐢變簬涓鐩存棤娉曟壘鍒板師鍥? 榪欎釜闂鎼佺疆浜?/p> <p><font color="#ffffff">杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚</font><a href="http://m.shnenglu.com/sunicdavy"><font color="#ffffff">http://m.shnenglu.com/sunicdavy</font></a></p> <h1>瑙e喅鏂規(guī)</h1> <p>鐩村埌鏈変竴涓伓鐒剁殑鏈轟細(xì), 鍙栬繃鍚屼簨浠g爜鍚? 紿佺劧鍙戠幇絎竴嬈℃墦寮Unity3D緙栬緫鍣ㄥ彲浠ョ洿鎺ョ櫥褰? 浣嗕箣鍚庡張涓嶈. 鍚屼簨鎻愰啋, 浼?xì)涓嶄細(xì)鏄紭鍏堝害闂? </p> <p>椹笂鎵撳紑Edit->Project Settings->Script Execution Orders. <strong>鎻愰珮浜嗙綉緇滅粍寤轟紭鍏堝害</strong></p> <p><a href="http://m.shnenglu.com/images/cppblog_com/sunicdavy/Windows-Live-Writer/Unity3D_DF1C/image_2.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/Windows-Live-Writer/Unity3D_DF1C/image_thumb.png" width="394" height="267"></a></p> <p>嫻嬭瘯, 閫氳繃, 闂瑙e喅</p> <p><font color="#ffffff">杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚</font><a href="http://m.shnenglu.com/sunicdavy"><font color="#ffffff">http://m.shnenglu.com/sunicdavy</font></a></p> <h1>鎬葷粨</h1> <p><font color="#ffffff">杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚</font><a href="http://m.shnenglu.com/sunicdavy"><font color="#ffffff">http://m.shnenglu.com/sunicdavy</font></a></p> <p>涓鐩存鐤戣繖涓棶棰樿窡Mono鐗堟湰榪囪佹湁鍏崇郴, 浣嗙敱浜?.2鐗堟湰鍒板勾搴曟墠鏇存柊, 涔嬪墠鍙兘鑷繁鍟僢ug. </p> <p>鍦ㄨ繖涓棶棰樺彂鐢熷悗瑙e喅鍓? 鎴戜滑榪樻湁涓涓浉鍏寵闂? 鎴戜滑灝嗙綉緇滈儴鍒嗘瘮杈冪ǔ瀹氱殑浠g爜鎷嗗垎鏀懼埌dll涓? 閫氳繃Unity3D鐨勬満鍒惰繘琛屽姞杞?/p> <p>緇撴灉, 緗戠粶鏃犳硶鍒濆鍖? 浼拌涔熸槸璺熻繖涓棶棰樻湁鍏崇郴</p> <p>鎬諱箣, 鏈夌被浼奸棶棰樻椂, 鍙互璇曠敤鑴氭湰鎵ц欏哄簭澶ф硶榪涜灝濊瘯</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/211162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2015-07-06 16:11 <a href="http://m.shnenglu.com/sunicdavy/archive/2015/07/06/211162.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>娓告垙鏁版嵁搴撻夊瀷mysql,mongo, redis, memcachedhttp://m.shnenglu.com/sunicdavy/archive/2015/06/19/210992.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Fri, 19 Jun 2015 08:23:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2015/06/19/210992.htmlhttp://m.shnenglu.com/sunicdavy/comments/210992.htmlhttp://m.shnenglu.com/sunicdavy/archive/2015/06/19/210992.html#Feedback5http://m.shnenglu.com/sunicdavy/comments/commentRss/210992.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/210992.html鏁版嵁搴撻夋嫨鍘嗙▼

鎴戜滑鐨勯」鐩竴鐩翠嬌鐢∕ySQL浣滀負(fù)鏁版嵁搴? 鏃犺鏄粠C++鐨勬湇鍔″櫒, 榪樻槸鍒癎olang鏈嶅姟鍣? 褰撳勾鎼炴湇鍔″櫒鏃? 鐪嬪ぇ閮ㄥ垎浜洪兘鏄敤SQL(MySQL/SQLServer), 鑰孧ongo鎰熻鍍忛偑鏁欎竴鏍? 鍐嶅姞涓婃湇鍔″櫒榪樻槸Linux姣旇緝姝g粺, 鎵浠ユ灉鏂変簡MySQL.

鍒氬紑濮嬫劅瑙?娓告垙鏈嶅姟鍣ㄧ殑鏁版嵁瀛樺偍鍏跺疄搴旇鏄洰紲炲湥鐨勮繃紼? 閭d箞澶氱殑鏁版嵁, 闇瑕佹寜鐓ySQL涓鏍峰垎琛? 鍒嗗瓧孌靛瓨鍌? 涓轟簡鏌ヨ, 榪樿涔栦箹鐨勫涓涓婼QL鐨勮娉?/p>

灝辮繖涔堟姌鑵句簡鍑犲勾. 鍦ㄤ簯DB鐨勮挋钄戒笅, 涓鐩磋涓篗ySQL灝辨槸鍋氭父鎴忔湇鍔″櫒瀛樺偍鐨勪笓涓氭妧鏈? 鍒嗗竷寮忓拰瀛樺偍鍘嬪姏涓瀹氫氦緇欎簯DB鏉ュ仛. 鐩村埌鐪熸璇曚簡涓婲oSQL鍦ㄦ父鎴忔湇鍔″櫒寮鍙戦噷鐨勬濊礬.

鐢ㄤ簡Golang, 鎵嶅彂鐜板悓姝ュ啓閫昏緫鏄涔堢殑浼橀泤.

鐢ㄤ簡NoSQL緋誨垪鐨勬暟鎹簱, 鎵嶆剰璇嗗埌: 娓告垙鏈嶅姟鍣ㄧ殑鏁版嵁瀛樺偍鍜屾父鎴忔湇鍔″櫒鐨勫瓨鐩樹袱涓蹇靛樊寮傚叾瀹炶洰澶х殑.

MySQL涓? 鑳屽寘鍏跺疄璺熻鑹插畬鍏ㄦ病鏈夊叧緋? 鍙槸閫氳繃1涓鑹瞚d鏄犲皠榪囧幓, 浜轟負(fù)鐨勫壊瑁備簡鏁版嵁鐨勫叧鑱旀? 榪樼‖鐢熺敓鐨勬暣鍑轟釜姒傚康鍙粨鏋勫寲鏌ヨ璁╀綘瀛?/p>

NoSQL涓? 鍙槸鎶婃暟鎹簱褰撴垚鏄瓨鍌ㄧ偣, 姣忎釜瑙掕壊鐨勬暟鎹槸瀹屾暣鐨勪竴鍧? 閲岄潰鎬庝箞瀛橀殢浣犱究. 姣忎釜瑙掕壊閫氳繃id鏉ユ煡璇? 鍏朵粬閮芥病鏈変簡

浜庢槸涔? 娓告垙寮鍙戝彉寰楀紓甯哥畝鍗? MySQL瑙掕壊榪涢棬鏌ヨ4~5嬈℃墠鑳芥悶瀹氳鐨勬暟鎹?鑰孨oSQL涓鍙f皵鍏ㄦ煡鍑烘潵, 瀛樼洏涔熸棤闇澧為噺, 鐩存帴瀛樼洏灝卞彲浠ヤ簡

鎵浠ョ幇鍦ㄨ寰? NoSQL鐨勬濊礬瀵逛簬娓告垙鏈嶅姟鍣ㄥ瓨鍌ㄦ潵璇寸畝鐩存槸瀹岀編鐨?

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

 

NoSQL鏁版嵁搴撴柟妗堝姣?/h1>

NoSQL涓嬪疄鐜版柟妗堝緢澶? 娓告垙甯哥敤鐨勫氨榪欎箞3瀹? mongo, redis, memcached

涓嬮潰璇翠笅浼樼己鐐?/p>

mongo

紓佺洏鏄犲皠鍐呭瓨鏁版嵁搴?/p>

value涓篸ocument綾誨瀷, 鍩轟簬BSON鐨剉alue搴忓垪鍖?/p>

搴旂敤鍦烘櫙:

閫傚悎澶氬啓灝戣, 渚嬪鏃ュ織鍜屽浠?/p>

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

 

redis

鍐呭瓨鏁版嵁搴?/p>

鍗曟牳

value闄愬埗512M

澶氱value綾誨瀷, 娓告垙鐢ㄩ斾嬌鐢ㄧ鏈夌殑搴忓垪鍖栧崗璁?渚嬪protobuf)

鏀寔钀藉湴(bgsave)

鐢ㄦ埛: 鏂版氮, 娣樺疂, Flickr, Github

搴旂敤鍦烘櫙: 閫傚悎璇誨啓閮藉緢楂? 鏁版嵁澶勭悊澶嶆潅絳?/p>

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

 

memcached

鍐呭瓨鏁版嵁搴?/p>

澶氭牳

value闄愬埗1M

涓嶆敮鎸佽惤鍦?鎸佷箙鍖?

鐢ㄦ埛: LiveJournal銆乭atena銆丗acebook銆乂ox

搴旂敤鍦烘櫙: 鍔ㄦ佺郴緇熶腑鐨勭紦鍐? 閫傚悎澶氳灝戝啓

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

涓漢璇勪環(huán)

memcached 閫傚悎緗戦〉緙撳啿, 娓告垙閲屽緢灝戞湁浣跨敤. 鐩墠鍙湁鑵捐浜戞敮鎸佷簯memcached

redis闈炲父閫傚悎娓告垙鐨勫唴瀛樻暟鎹簱, 浣嗘槸钀藉湴絳栫暐浼?xì)姣旇緝澶嶆? 闇瑕佸叿浣撳垎鏋? 鍙互鍙傝冨悗闈㈢殑閾炬帴鐪嬩笅浜戦鎬庝箞澶勭悊榪欎釜闂

mongo鏁版嵁搴撳湪鏃╂湡榪樻槸闈炲父涓嶉敊鐨凬oSQL鐨勬暟鎹簱. 宸ュ叿姣旇緝鏂逛究, 鍙鍖? 浣嗘槸闅忕潃榪戝勾鏉ユ父鎴忕殑騫跺彂搴﹁秺鏉ヨ秺楂? 鎵浠ヤ負(fù)浜嗕竴嬈″埌浣? 寰堝浜鴻繕鏄夋嫨浜唕edis

涓嬪浘鍙傝冭嚜鐭ヤ箮闂. 閾炬帴鍦ㄥ悗闈㈡湁鎻愮ず, 鑻ヤ鏡鏉冭鑱旂郴鍒犻櫎

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

image

鍙傝冮摼鎺?

    璋堣皥闄岄檶浜夐湼鍦ㄦ暟鎹簱鏂歸潰韙╄繃鐨勫潙( Redis 綃?

http://blog.codingnow.com/2014/03/mmzb_redis.html

杞澆璇鋒敞鏄? 鎴橀瓊灝忕瓚http://m.shnenglu.com/sunicdavy

Memcache,Redis,MongoDB錛堟暟鎹紦瀛樼郴緇燂級鏂規(guī)瀵規(guī)瘮涓庡垎鏋?/p>

http://blog.csdn.net/suifeng3051/article/details/23739295

 

http://www.zhihu.com/question/31417262



鎴橀瓊灝忕瓚 2015-06-19 16:23 鍙戣〃璇勮
]]>
C/C++鏈嶅姟鍣ㄦ灦鏋勬満鍒惰璁℃葷粨http://m.shnenglu.com/sunicdavy/archive/2014/12/18/209225.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Thu, 18 Dec 2014 08:39:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2014/12/18/209225.htmlhttp://m.shnenglu.com/sunicdavy/comments/209225.htmlhttp://m.shnenglu.com/sunicdavy/archive/2014/12/18/209225.html#Feedback1http://m.shnenglu.com/sunicdavy/comments/commentRss/209225.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/209225.html榪戞湡鍦ㄥ啓鍩轟簬go鐨勬父鎴忔湇鍔″櫒妗嗘灦, 鍦ㄥ叏闈㈣劚紱籆/C++鍓? 闇瑕佸鑰佹灦鏋勮繘琛屼竴涓葷粨

鍩轟簬C/C++娓告垙鏈嶅姟鍣ㄦ鏋舵諱綋璁捐鐨勮繕鏄笉閿欑殑, 鍏勫紵浠諱綋浣跨敤鏁堟灉閮芥槸濂借瘎. 鍥犱負(fù)鍦ㄦ妧鏈笂鍠滄"鍋鋒噿", 鎵浠ュ湪寰堝璁捐涓? 閮芥槸鍔涙眰綆鍗? 楂樻晥(寮鍙戞晥鐜?.

鍩轟簬浠誨姟鐨勫紓姝B鏌ヨ緋葷粺, 甯﹀閲嶅紓姝ョ殑鍚屾

浠g爜紺轟緥:

   1:   
   2:  void BatchQueryPlayerInfo( uint32 ClientID, const std::string& AccountName, int64 CharID )
   3:  {
   4:      GDBExecutor->Commit
   5:          (    
   6:          dynamic_cast<DBDataTask*>( (new DBQueryCharInfo(  ClientID, CharID ) ) 
   7:          ->LinkAtomTask( new DBQueryQuest( ClientID, CharID ) )
   8:          ->LinkAtomTask( new DBQuerySkill( ClientID, CharID ) )
   9:          ->LinkAtomTask( new DBQueryHero( ClientID, CharID ) )
  10:          ->LinkAtomTask( new DBQueryAccountInfo( ClientID, AccountName ) )
  11:          ->LinkAtomTask( new DBQueryEquip( ClientID, CharID ) )
  12:          ->LinkAtomTask( new DBQueryObject( ClientID ,CharID ) )
  13:          ->LinkAtomTask( new DBQueryLevel(ClientID, CharID))
  14:          ->LinkAtomTask( new DBQueryChapter(ClientID, CharID))
  15:          ->LinkAtomTask( new DBQueryActivity( ClientID, CharID ))
  16:          )
  17:          );
  18:   
  19:  }

榪欐涓昏澶勭悊鐜╁鍦ㄧ櫥闄嗘椂, 闇瑕佷粠DB鏌ヨ澶ч噺鐨勪笉鍚屽垎綾葷殑鏁版嵁. 涓轟簡淇濊瘉鏁堢巼, 鎴戣姣忎釜Task騫惰鎵ц, 鐒跺悗閫氳繃涓涓満鍒? 璁╂墍鏈変換鍔″畬鎴愬悗, 鍥炶皟絎竴涓換鍔$殑涓涓嚱鏁? 榪欐牱灝辨棤闇鎵嬪姩瀹炵幇寰堝綺樺悎浠g爜, 閬垮厤浜嗗弽澶嶈皟璇曞拰閿欒

鍩轟簬protobuf鍙嶅皠鏈哄埗鐨勮鍙ヨ嚜鍔ㄥ悎鎴?/strong>

   1:  DBUpdateCharInfo::DBUpdateCharInfo( int64 CharID, const std::string& Buffer )
   2:  {
   3:      char buffer[256];
   4:   
   5:      sprintf( buffer, "update tb_char set $FIELD$ where charid = %lld;", CharID );
   6:          
   7:      ExecuteCommand( buffer, Buffer, dbopr::FET_Equation );
   8:  }

榪欐灝辨槸涓涓吀鍨嬬殑DB浠誨姟, 鏋勯犲嚱鏁版彁渚涗簡CharID鍜屼竴涓敱緇撴瀯浣撳簭鍒楀寲濂界殑buffer, $FIELD$瀛楁, 鏄氳繃鍙嶅皠鏍規(guī)嵁Buffer鍐呭, 鑷姩濉厖瀛楁

榪欐渚嬪瓙涓? $FIELD$鍙互濉厖涓?hp=100, mp=100涔嬬被鐨? 鑷姩濉厖閬垮厤浜嗗洜涓烘坊鍔犲瓧孌電殑鍒板娣誨姞浠g爜, 榪橀渶瑕佽皟璇? 瀹規(guī)槗鎼為敊

 

閰嶇疆緋葷粺姒傚康

鍩轟簬鍚屼竴涓厤緗郴緇? 鍒嗗眰瀹炵幇涓嶅悓鐨勯渶姹? 鏇寸畝鍗曠殑璇? 瑙e喅鐨?涓疄闄呴棶棰樻槸:

鑷繁鏀逛簡閰嶇疆鏂囦歡涓殑ip, 涓婁紶svn鍚? 瑕嗙洊浜嗗埆浜虹殑閰嶇疆, 寰堝浜虹殑瑙e喅鏂規(guī)硶閮芥槸, 鏈湴閰嶇疆涓嶆彁浜? 浣嗗悓鏃墮棶棰樺張鏉ヤ簡:

褰撻厤緗腑鏈夊埆浜烘柊鍔犵殑緋葷粺閰嶇疆, 鎬庝箞淇濊瘉姣忎釜浜洪兘鑳芥洿鏂板埌?

涓婄嚎鍚? 鏈嶅姟鍣ㄤ氦浠樿繍緇? 浠栦滑浼?xì)瀵归厤缃湁涓瀹氱▼搴︾殑淇敼, 榪欎釜鏃跺欐庝箞鍚堝茍紼嬪簭閰嶇疆鍜岃繍緇撮厤緗?

鍏跺疄瀵逛簬鍐茬獊鐨勯渶姹? 鍙瀵圭郴緇熻繘琛屽垎灞傚氨鍙互瑙e喅闂,鎴戠殑澶勭悊鏂瑰紡:

閰嶇疆鍒嗕負(fù):

鍏ㄥ眬閰嶇疆: 鎵鏈夋湇鍔$殑鎬諱綋閰嶇疆

鍗曟湇鍔¢厤緗? 鏈湇鍔$殑閰嶇疆, 娑夊強緗戠粶鍙婇昏緫

鏈湴閰嶇疆: 榪欎釜閰嶇疆姣忎釜浜轟竴浠? 涓嶄笂浼燬VN

鍛戒護(hù)琛岄厤緗? 鏍煎紡鍜屽墠闈㈢殑涓鑷? 榪欏潡灝卞彲浠ラ氳繃榪愮淮榪涜閰嶇疆

鎬諱綋緇撴瀯鍏跺疄灝辨槸OO鐨勬淳鐢熸蹇? 涓嬪眰鍙互瑕嗙洊, 淇敼涓婂眰鐨勯厤緗?/p>

 

鏈嶅姟鍣ㄤ簰鑱斿強璇嗗埆妗嗘灦

鍩烘湰鍔熻兘: 鍩轟簬涓浜涚畝鍗曠殑閰嶇疆灝卞彲浠ュ皢澶氬彴鏈嶅姟鍣? 鍚岀綾葷殑涓嶅悓鏈嶅姟鍣ㄤ簰鐩歌繛鎺ヨ搗鏉? 鏂嚎鑷姩閲嶈繛.

鏈嶅姟鍣ㄨ繛鎺ュ悗, 鎵鏈夋湇鍔″櫒鍙煡鏅撳茍鍙嚜鍔ㄦ寜闇榪炴帴

閫昏緫绔篃寰堟柟渚跨殑榪涜騫挎挱鎴栬呭崟鐙彂閫佺瓑

涔熷氨鏄, 姣忎釜鏈嶅姟鍣ㄧ殑榪炴帴鍜屾帴鍙楃閮芥槸甯﹁瘑鍒悕縐版垨id鐨?

鍚庨潰瑙夊緱榪欏涓滆タ瀹炲湪鏄仛鐨勫鏉? 澶氭暣鍑轟竴鍙頒腑蹇冩湇鍔″櫒鏉ュ仛. 浣嗗ソ姝規(guī)鏋剁ǔ瀹氫笅鏉ヤ簡, 涔熷氨濂戒簡.

 

鍩轟簬lua鐨勬湇鍔″櫒web鍚庡彴妗嗘灦

鎬濇兂鏄緢涓嶉敊鐨?  C++ 閰嶅悎lua鏈韓緇濆鏄釜澶辮觸

闂鍑哄湪web澶勭悊,鏈韓閮芥槸涓涓悓姝ラ樆濉炶繃紼? 鑰岃繖涓悗鍙版鏋舵槸寮傛鏂瑰紡鏉ュ仛, 鎵浠ョ壒鍒埆鎵?/p>

涓嶈繃姣旇搗浠ュ墠鐨勬湰鍦癎M緋葷粺, 榪欏潡鐨勮璁℃槸浼熷ぇ鐨勮繘姝?/p>

 

鐜板湪姝e湪璁捐鍩轟簬golang鐨勬湇鍔″櫒妗嗘灦, 鍩烘湰妗嗘灦宸茬粡瀹屽伐, 絳夊緟緙栧啓閫昏緫鍚庣殑瀹炴垬?gòu)箣璇?/p>

浠ヤ笂鐨勫緢澶氭濇兂鍦╣olang鐨勬湇鍔″櫒妗嗘灦閮芥湁鏀硅繘, 鐗瑰埆鏄痝olang鏈韓鍋歸eb涔熸槸浼樼鐨? 澶栧姞martini榪欑鐗沊妗嗘灦, 鏇存槸姘村埌娓犳垚

濡傛灉浣犲鏈嶅姟鍣ㄦ鏋惰璁℃湁鐗瑰埆鐨勮璇? 鎴栬呮兂紕版挒鎬濇兂, 鍙互鍔犲崥瀹㈢兢 309800774鎴栬呮垜鐨剄q: 20998333璁ㄨ



]]>
鑷畾涔塗exturePacker鎻掍歡瀵煎嚭鑷繁鐨刾list鏂囦歡http://m.shnenglu.com/sunicdavy/archive/2014/02/06/205645.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Thu, 06 Feb 2014 07:23:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2014/02/06/205645.htmlhttp://m.shnenglu.com/sunicdavy/comments/205645.htmlhttp://m.shnenglu.com/sunicdavy/archive/2014/02/06/205645.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/205645.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/205645.htmlcocos2dx寮曟搸浣跨敤plist鏂囦歡, 涓縐嶇壒孌婄殑xml鏍煎紡浣滀負(fù)鍏禷tlas綰圭悊鐨勬弿榪版枃浠? plist閬靛驚鑻規(guī)灉鐨剎ml涓璳ey-value鐨勮璁¢鏍?瀵逛簬OC鏉ヨ鏄悎閫傜殑, 浣唜ml鏈韓鎬ц兘浣庝笅, 鍨冨溇鍐呭榪囧, 涔熻plist瀵逛簬楂樻ц兘娓告垙寮曟搸涓嶅啀閫傚悎. 鍥犳, 鐮旂┒TexturePacker鐨勫鍑烘彃浠舵妧鏈?/p>

TexturePacker鐨勮嚜瀹氫箟鎻掍歡鐩綍浣嶄簬鍏跺畨瑁呯洰褰曠殑bin\exporters\涓? 浣嗘湁涓浜涙彃浠跺睘浜庡唴寤烘敮鎸? 渚嬪cocos2dx鐨刾list鏍煎紡, 鍥犳鏃犳硶鎵懼埌瀵瑰簲鎻掍歡

鏈漢鍙傝僺hiva3d鎻掍歡, 瀵瑰簲瀵煎嚭鐣岄潰鐨凞ataFormat涓殑Shiva3D, 蹇熷浼?xì)浜嗗浣曞鍑?/p>

瀹樻柟鏂囨。浣嶄簬http://www.codeandweb.com/texturepacker/documentation/#customization

鎻掍歡鐨勫熀鏈牸寮忓強鍘熺悊鏄?

bin\exporters\涓嬬殑鏌愪竴鐩綍涓嬪瓨鍦ㄧ殑涓涓悕涓篹xporter.xml鏂囦歡浣滀負(fù)鎻掍歡鐨勬弿榪?渚嬪:

<exporter version="1.0">
    <!-- identifier of the exporter -->
    <name>shiva3d</name>
 
    <!-- display name of the exporter for the combo box -->
    <displayName>Shiva3D</displayName>
    
    <!-- description of the exporter -->
    <description>Exporter for Shiva3D.</description>
 
    <!-- exporter version -->
    <version>1.0</version>
    
    <!-- currently only one file allowed - more to come with update -->
    <files>
        <file>
            <!-- name of this file variable -->
            <name>xml</name>
 
            <!-- human readable name (for GUI) -->
            <displayName>XML</displayName>
 
            <!-- file extension for the file -->
            <fileExtension>xml</fileExtension>
 
            <!-- name of the template file -->
            <template>shiva.xml</template>
        </file>
    </files>
 
    <!-- target framework supports trimming -->
    <supportsTrimming>false</supportsTrimming>
 
    <!-- target framework supports rotated sprites -->
    <supportsRotation>true</supportsRotation>
 
    <!-- rotated sprites direction (cw/ccw) -->
    <rotationDirection>cw</rotationDirection>
 
    <!-- supports npot sizes -->
    <supportsNPOT>true</supportsNPOT>
 
    <!-- supports file name stripping (remove .png etc) -->
    <supportsTrimSpriteNames>yes</supportsTrimSpriteNames>
 
    <!-- supports texure subpath -->
    <supportsTextureSubPath>yes</supportsTextureSubPath>
 
</exporter>
 
 

 

鍦═emplate瀛楁涓? 鎻忚堪鍚岀洰褰曠殑瀵煎嚭鏂囦歡鏍煎紡妯℃澘. TexturePacker浣跨敤涓縐嶅彨Grantlee鐨勬ā鏉垮紩鎿?綾諱技浜嶱ython浣跨敤鐨凞jango妯℃澘寮曟搸, 鏂囨。鍙傝:Grantlee Documentation. 綆鍗曠殑鏂囨湰鏍煎紡鍙互鍙傝僺hiva.xml蹇熷浼?/p>

榪欓噷鎴戜滑浣跨敤protobuf鐨勬枃鏈牸寮?鏋佷負(fù)綾諱技json)瀵煎嚭plist, 涓嬮潰鏄鍑烘ā鏉?/p>

 

{% for sprite in allSprites %}
Sprite {
    Name: "{{sprite.trimmedName}}"
    FrameX: {{sprite.frameRect.x}}
    FrameY: {{sprite.frameRect.y}}
    FrameWidth: {{sprite.frameRectWithoutRotation.width}}
    FrameHeight: {{sprite.frameRectWithoutRotation.height}}
    OffsetX: {{sprite.cornerOffset.x}}
    OffsetY: {{sprite.cornerOffset.y}}
    OriginalWidth: {{sprite.untrimmedSize.width}}
    OriginalHeight: {{sprite.untrimmedSize.height}}
    {% if sprite.rotated %}Rotated: true {% endif %}
}
{% endfor %}

瀵煎嚭鐨勭粨鏋滅被浼間簬:

 
Sprite {
    Name: "car01"
    FrameX: 100
    FrameY: 129
    FrameWidth: 76
    FrameHeight: 47
    OffsetX: 0
    OffsetY: 0
    OriginalWidth: 76
    OriginalHeight: 47
    Rotated: true 
}
 
Sprite {
    Name: "car02"
    FrameX: 100
    FrameY: 51
    FrameWidth: 76
    FrameHeight: 47
    OffsetX: 0
    OffsetY: 0
    OriginalWidth: 76
    OriginalHeight: 47
    Rotated: true 
}

...

瀵煎嚭鎻掍歡榪樻敮鎸乯s鎵╁睍, 鍏蜂綋鍐呭璇風(fēng)戶緇弬鑰冨畼鏂規(guī)枃妗? 浣嗗浜庣畝鍗曠殑鏂囨湰鏍煎紡, 榪欑鏂瑰紡宸茬粡瓚沖浜?/p>

瀵規(guī)瘮plist鍚? 鍙戠幇plist涓殑鍨冨溇淇℃伅鏋佷負(fù)澶? 鑰屼笖浣滀負(fù)spriteframe鐨刵ame灞呯劧甯︽湁鎵╁睍鍚?..  鍥犳鑴辯plist,緙栧啓鑷繁鐨勫鍑烘彃浠舵墠鏄帇閬?



]]>
浣跨敤HG(Mercurial)鍋氬垎甯冨紡浠g爜綆$悊鐨勪竴浜涚粡楠?/title><link>http://m.shnenglu.com/sunicdavy/archive/2013/10/25/203915.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 25 Oct 2013 14:51:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2013/10/25/203915.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/203915.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2013/10/25/203915.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/203915.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/203915.html</trackback:ping><description><![CDATA[<p>璺濈絎竴嬈′嬌鐢℉G宸茬粡鐢?,3騫翠簡銆?浠庣涓嬈″皢HG鐢ㄤ簬鑷繁鐨勯」鐩紝 鐢║鐩樺悓姝ヤ唬鐮? 鍒扮幇鍦ㄥ皢HG搴旂敤浜巐inux, 鐗堟湰宸紓鍙戝竷, 欏圭洰鍐呴儴澶氫漢鐨勫垎甯冨紡寮鍙戯紝宸茬粡鎰熻闈炲父鐔熺粌銆?/p> <p>鎴戜滑鐨勯」鐩殑瀹㈡埛绔拰鏈嶅姟鍣ㄥ潎鐢盋++寮鍙戯紝鐢變簬HG璁捐鐨勭悊蹇墊槸1涓伐紼嬪搴?涓簱錛?鍥犳鎴戜滑鐨勫鎴風(fēng)鍜屾湇鍔″櫒鏄垎寮鐨勪袱涓狧G浠g爜搴撱傝繖縐嶆濇兂鍜孲VN綆$悊鐨勪唬鐮佹湁寰堝ぇ涓嶅悓銆係VN鏃朵唬鐨勬父鎴忓伐紼嬪ぇ澶氭槸榪欐牱瀹夋帓鐩綍鐨勶細(xì)</p> <p>common <-瀹㈡埛绔拰鏈嶅姟鍣ㄥ叡浜殑搴?/p> <p>client<-瀹㈡埛绔殑浠g爜</p> <p>server<-鏈嶅姟鍣ㄧ殑浠g爜</p> <p>閫氳繃SVN寮哄ぇ鐨勬潈闄愭帶鍒剁粰涓嶅悓鐨勫墠鍚庣璧嬩簣鏉冮檺錛屽墠鍚庣紼嬪簭灝嗚幏寰椾笉鍚岀殑鐩綍緇勫悎銆係VN涓嬬殑榪欑宸ョ▼緇勭粐鏂規(guī)硶鑳藉緢濂界殑瑙e喅鍗曚竴璇█璺ㄥ伐紼嬬殑浠g爜錛屽崗璁叡浜棶棰樸傝櫧鐒剁幇鍦ㄥ悇縐岴rlang錛孞ava鐨勬湇鍔″櫒璇█涓巃s3,lua鐨勪笉鍚屽鎴風(fēng)鑴氭湰璇█娣鋒潅鐨勬椂浠e凡緇忔棤鎵璋撹繖縐嶈佸紡璁捐鎬濇兂銆備絾鏄浜庢垜浠函C++鐨勬墜娓告潵璇達(dá)紝榪樻槸蹇呴』闈㈠鍒嗗竷寮忎唬鐮佺鐞嗗伐鍏蜂笅鐨勪唬鐮佽法搴撳叡浜棶棰樸?/p> <p>鎴戝氨榪欎釜闂涓庡騫村墠琚垜鎺ㄨ崘榪嘓G鐨勬湅鍙嬭璁鴻搗鏉ワ紝浠栦滑涔熷瓨鍦ㄦ垜浠繖涓棶棰橈紝浣嗘槸浠栦滑鐨勮В鍐蟲柟娉曞氨鏄瘡涓伐紼嬩竴涓簱銆傜劧鍚庤鎴戦棶鍒幫細(xì)鈥滃悓姝ヤ竴嬈′唬鐮侊紝涓嬈℃鐨勬墦寮涓嶅悓鐨勫簱錛堜粬浠鎴風(fēng)+鏈嶅姟鍣ㄤ竴鍏?鍒?涓狧G浠g爜搴擄級錛岃繘琛屽悓姝ワ紝 瀹屾垚鍚庯紝 榪樿鍙嶅悜pull錛屼笉绱晩錛熲濓紝 鏈嬪弸鍥炵瓟錛氣滀範(fàn)鎯氨濂解?/p> <p>闅忓悗錛屾垜涔熺炕鏌ヤ簡git瀵瑰欏圭洰鐨勬敮鎸併傚緱鍒扮殑絳旀涔熸槸璺烪G涓鏍風(fēng)殑錛?榪欑被鍒嗗竷寮忎唬鐮佺鐞嗗伐鍏鋒湰韜殑璁捐鐞嗗康鍙湁璐﹀彿錛岃屾棤鏉冮檺錛?鏈韓灝辨槸鍩轟簬寮婧愪唬鐮佺簿紲炶璁$殑宸ュ叿錛?濡傛灉鍒嗕簡鏉冮檺錛屽矀涓嶆槸榪濊儗寮婧愮簿紲烇紙榪欐槸鎴戞兂鐨?img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="寰瑧" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/Windows-Live-Writer/09a081eb5d4c_13A7F/wlEmoticon-smile_2.png">錛夈傚洜姝ゅ鏋滄兂綆$悊澶氫釜欏圭洰浠g爜錛?瑕佷箞澶氬簱錛岃涔堝悎搴撱?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/203915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2013-10-25 22:51 <a href="http://m.shnenglu.com/sunicdavy/archive/2013/10/25/203915.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Google Protocolbuf 鏂囨湰鏍煎紡鐨勮В鏋?/title><link>http://m.shnenglu.com/sunicdavy/archive/2013/07/09/201643.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Tue, 09 Jul 2013 10:29:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2013/07/09/201643.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/201643.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2013/07/09/201643.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/201643.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/201643.html</trackback:ping><description><![CDATA[<p>protobuf灝辨槸涓烘噿浜鴻岄犵殑宸ュ叿, 鍟ュ崗璁? 鍟ラ厤緗枃浠? 緇熺粺瀹氫箟proto, 瑙f瀽灝眔k, 闈炲父鏂逛究</p> <p> </p> <p>鏂囨湰鏍煎紡鐨勮В鏋愰敊璇笉鑳戒嬌鐢ㄦ崟鑾烽敊璇潵鑾峰彇, 鍥犳,鎴戜滑闇瑕佷嬌鐢ㄨ嚜瀹氫箟鐨勯敊璇敹闆嗗櫒榪涜鏀墮泦, 鐪嬩唬鐮?</p> <div id="hvzpftn" class="csharpcode"><pre class="alt">#include <google/protobuf/text_format.h></pre><pre>#include <google/protobuf/io/zero_copy_stream_impl_lite.h></pre><pre class="alt">#include <google/protobuf/io/tokenizer.h></pre><pre> </pre><pre class="alt"><span id="hvzpftn" class="kwrd">class</span> PBTextErrorCollector : <span id="hvzpftn" class="kwrd">public</span> google::protobuf::io::ErrorCollector</pre><pre>{</pre><pre class="alt"><span id="hvzpftn" class="kwrd">public</span>:</pre><pre> PBTextErrorCollector( <span id="hvzpftn" class="kwrd">const</span> std::<span id="hvzpftn" class="kwrd">string</span>& FileName )</pre><pre class="alt"> : mFileName( FileName )</pre><pre> {</pre><pre class="alt"> </pre><pre> }</pre><pre class="alt"> </pre><pre> <span id="hvzpftn" class="kwrd">virtual</span> <span id="hvzpftn" class="kwrd">void</span> AddError(<span id="hvzpftn" class="kwrd">int</span> line, <span id="hvzpftn" class="kwrd">int</span> column, <span id="hvzpftn" class="kwrd">const</span> <span id="hvzpftn" class="kwrd">string</span>& message)</pre><pre class="alt"> {</pre><pre> CCLog(<span id="hvzpftn" class="str">"%s(%d:%d) %s "</span>, mFileName.c_str(), line, column, message.c_str() );</pre><pre class="alt"> }</pre><pre> </pre><pre class="alt"> <span id="hvzpftn" class="kwrd">virtual</span> <span id="hvzpftn" class="kwrd">void</span> AddWarning(<span id="hvzpftn" class="kwrd">int</span> line, <span id="hvzpftn" class="kwrd">int</span> column, <span id="hvzpftn" class="kwrd">const</span> <span id="hvzpftn" class="kwrd">string</span>& message) </pre><pre> {</pre><pre class="alt"> CCLog(<span id="hvzpftn" class="str">"%s(%d:%d) %s "</span>, mFileName.c_str(), line, column, message.c_str() );</pre><pre> }</pre><pre class="alt"> </pre><pre><span id="hvzpftn" class="kwrd">private</span>:</pre><pre class="alt"> std::<span id="hvzpftn" class="kwrd">string</span> mFileName;</pre><pre>};</pre><pre class="alt"> </pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>瑙f瀽浠g爜</p> <div id="hvzpftn" class="csharpcode"><pre class="alt">google::protobuf::TextFormat::Parser P; </pre><pre> P.RecordErrorsTo( &PEC );</pre><pre class="alt"> P.Parse( &AIS, &AF );</pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p> </p> <p>鍙﹀: 鏂囨湰鏍煎紡鐨勬敞閲婁嬌鐢╱nix shell椋庢牸: 浠?寮澶?/p> <p>涓嬮潰鏄垜鐨勬枃鏈牸寮忕殑閰嶇疆鏂囦歡</p> <p> </p><pre class="csharpcode">AnchorPointX: 0.5 AnchorPointY: 0 SpriteScale: 2 ComponentName: <span id="hvzpftn" class="str">"ActorActionManager"</span> ComponentName: <span id="hvzpftn" class="str">"ActorFrameEventDispatcher"</span> <span id="hvzpftn" class="rem">#ComponentName: "SoundFXController"</span> ComponentName: <span id="hvzpftn" class="str">"RoleDeltaMoveController"</span> ComponentName: <span id="hvzpftn" class="str">"RoleBehaviorDirector"</span> InitAction: AA_Idle Animations { AnimationName: <span id="hvzpftn" class="str">"mai_idle"</span> AnimationInterval: 0.067 } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style><img src ="http://m.shnenglu.com/sunicdavy/aggbug/201643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2013-07-09 18:29 <a href="http://m.shnenglu.com/sunicdavy/archive/2013/07/09/201643.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞澆]楂樻晥紼嬪簭鍛樼殑鍥涘崄浜斾釜涔?fàn)鎯?/title><link>http://m.shnenglu.com/sunicdavy/archive/2012/04/03/169958.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Tue, 03 Apr 2012 13:40:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2012/04/03/169958.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/169958.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2012/04/03/169958.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/169958.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/169958.html</trackback:ping><description><![CDATA[<p>鐢ㄤ綔鍥㈤槦緙栫爜鏍囧噯寰堜笉閿?/p> <p><strong></strong> </p> <p><strong>鎬佸害綃?br></strong>1. 鍋氬疄浜?br>涓嶈鎶辨紝鍙戠墷楠氾紝鎸囪矗浠栦漢錛屾壘鍑洪棶棰樻墍鍦紝鎯沖姙娉曡В鍐熾傚闂鍜岄敊璇紝瑕佸媷浜庢壙鎷呫?br>2. 嬈查熷垯涓嶈揪<br>鐢ㄥ皬鑱槑銆佹潈瀹滀箣璁¤В鍐抽棶棰橈紝姹傚揩鑰屼笉欏句唬鐮佽川閲忥紝浼?xì)缁櫃骞鐩暀涓嬭鍛界殑姝昏銆?br>3. 瀵逛簨涓嶅浜?br>灝變簨璁轟簨錛屾槑鏅恒佺湡璇氥佽櫄蹇冨湴璁ㄨ闂錛屾彁鍑哄垱鏂版柟妗堛?br>4. 鎺掗櫎涓囬毦錛屽鍕囧墠榪?br>鍕囨皵寰寰鏄厠鏈嶅洶闅劇殑鍞竴鏂規(guī)硶銆?br><strong>瀛︿範(fàn)綃?br></strong>5. 璺熻釜鍙樺寲<br>鏂版妧鏈眰鍑轟笉絀峰茍涓嶅彲鎬曘傚潥鎸佸涔?fàn)鏂版妧鏈紝璇諱功錛岃鎶鏈潅蹇楋紝鍙傚姞鎶鏈椿鍔紝涓庝漢浜ゆ祦銆傝澶氱悊瑙f柊璇嶈儗鍚庣殑鎵浠ョ劧錛屾妸鎻℃妧鏈ぇ瓚嬪娍錛屽皢鏂版妧鏈敤浜庝駭鍝佸紑鍙戣璋ㄦ厧銆?br>6. 瀵瑰洟闃熸姇璧?br>鎵撻犲涔?fàn)鍨嬪洟闃熷Q屼笉鏂彁楂樺厔寮熶滑鐨勫鉤鍧囨按騫熾?br>7. 鎳傚緱涓㈠純<br>鑰佺殑濂楄礬鍜屾妧鏈紝璇ヤ涪錛屽氨寰椾涪銆備笉瑕佸浐姝ヨ嚜灝併?br>8. 鎵撶牬鐮傞攨闂埌搴?br>涓嶆柇榪介棶錛岀湡姝f悶鎳傞棶棰樼殑鏈川銆備負(fù)浠涔堬紵搴旇鎴愪負(fù)浣犵殑鍙eご紱呫?br>9. 鎶婃彙寮鍙戣妭濂?br>鎺у埗濂芥椂闂達(dá)紝鍏繪垚濂戒範(fàn)鎯紝涓嶈鍔犵彮銆?/p> <p><strong>寮鍙戞祦紼嬬瘒<br></strong>10. 璁╁鎴峰仛鍐沖畾<br>璁╃敤鎴峰湪鐜板満錛屽懼惉浠栦滑鐨勫0闊籌紝瀵逛笟鍔℃渶閲嶈鐨勫喅絳栧簲璇ヨ浠栦滑璇翠簡綆椼?br>11. 璁╄璁℃寚瀵艱屼笉鏄搷綰靛紑鍙?br>璁捐鏄墠榪涚殑鍦板浘錛屽畠鎸囧紩鐨勬槸鏂瑰悜錛岃屼笉鏄洰鐨勬湰韜傝璁$殑璇︾暐紼嬪害搴旇閫傚綋銆?br>12. 鍚堢悊鍦頒嬌鐢ㄦ妧鏈?br>鏍規(guī)嵁闇瑕佽屼笉鏄叾浠栧洜绱犻夋嫨鎶鏈傚鍚勭鎶鏈柟妗堣繘琛屼弗鏍煎湴榪介棶錛岀湡璇氶潰瀵瑰悇縐嶉棶棰樸?br>13. 璁╁簲鐢ㄩ殢鏃墮兘鍙互鍙戝竷<br>閫氳繃鍠勭敤鎸佺畫闆嗘垚鍜岀増鏈鐞嗭紝浣犲簲璇ラ殢鏃墮兘鑳藉緙栬瘧銆佽繍琛岀敋鑷抽儴緗插簲鐢ㄣ?br>14. 鎻愭棭闆嗘垚錛岄綣侀泦鎴?br>闆嗘垚鏈夐闄╋紝瑕佸敖鏃╁敖閲忓鍦伴泦鎴愩?br>15. 鎻愭棭瀹炵幇鑷姩鍖栭儴緗?br>16. 浣跨敤婕旂ず鑾峰緱棰戠箒鍙嶉<br>17. 浣跨敤鐭凱浠o紝澧為噺鍙戝竷<br>18. 鍥哄畾浠鋒牸灝辨剰鍛崇潃鑳屽彌鎵胯<br>浼扮畻搴旇鍩轟簬瀹為檯鐨勫伐浣滀笉鏂彉鍖栥?br><strong>鐢ㄦ埛綃?br></strong>19. 瀹堟姢澶╀嬌<br>鑷姩鍖栧崟鍏冩祴璇曟槸浣犵殑瀹堟姢澶╀嬌銆?br>20. 鍏堢敤瀹冨啀瀹炵幇瀹?br>嫻嬭瘯椹卞姩寮鍙戝叾瀹炴槸涓縐嶈璁″伐鍏楓?br>21. 涓嶅悓鐜錛屽氨鏈変笉鍚岄棶棰?br>瑕侀噸瑙嗗騫沖彴闂銆?br>22. 鑷姩楠屾敹嫻嬭瘯<br>23. 搴﹂噺鐪熷疄鐨勮繘搴?br>鍦ㄥ伐浣滈噺浼扮畻涓婏紝涓嶈鑷嬈轟漢銆?br>24. 鍊懼惉鐢ㄦ埛鐨勫0闊?br>姣忎竴澹版姳鎬ㄩ兘闅愯棌鐫瀹濊吹鐨勭湡鐞嗐?<p><strong>緙栫▼綃?br></strong>25. 浠g爜瑕佹竻鏅板湴琛ㄨ揪鎰忓浘 <p>浠g爜鏄粰浜鴻鐨勶紝涓嶈鑰嶅皬鑱槑銆?br>26. 鐢ㄤ唬鐮佹矡閫?br>娉ㄩ噴鐨勮壓鏈?br>27. 鍔ㄦ佸湴榪涜鍙栬垗 <p>璁頒綇錛屾病鏈夋渶浣寵В鍐蟲柟妗堛傚悇縐嶇洰鏍囦笉鍙兘闈㈤潰淇卞埌錛屽叧娉ㄥ鐢ㄦ埛閲嶈鐨勯渶姹傘?br>28. 澧為噺寮忕紪紼?br>鍐欎竴鐐逛唬鐮佸氨鏋勫緩銆佹祴璇曘侀噸鏋勩佷紤鎭傝浠g爜騫插噣鍒╄惤銆?br>29. 灝介噺綆鍗?br>瀹佺畝鍕跨箒銆傚鏋滄病鏈夊厖瓚崇殑鐞嗙敱錛屽氨涓嶈浣跨敤浠涔堟ā寮忋佸師鍒欏拰鐗瑰埆鐨勬妧鏈?br>30. 緙栧啓鍐呰仛鐨勪唬鐮?br>綾誨拰緇勪歡搴旇瓚沖灝忥紝浠誨姟鍗曚竴銆?br>31. 鍛婄煡錛屼笉瑕佽闂?br>澶氱敤娑堟伅浼犻掞紝灝戠敤鍑芥暟璋冪敤銆?br>32. 鏍規(guī)嵁濂戠害榪涜鏇挎崲<br>濮旀墭寰寰浼樹簬緇ф壙銆?<p><strong> 璋冭瘯綃?br></strong>33. 璁板綍闂瑙e喅鏃ュ織<br>涓嶈鍦ㄥ悓涓鍦版柟鎽斿掍袱嬈°傞敊璇槸鏈瀹濊吹鐨勮儲瀵屻?br>34. 璀﹀憡灝辨槸閿欒<br>蹇借緙栬瘧鍣ㄧ殑璀﹀憡鍙兘閾告垚澶ч敊銆?br>35. 瀵歸棶棰樺悇涓嚮鐮?br>鍒嗚屾不涔嬫槸璁$畻鏈虹瀛︿腑鏈閲嶈鐨勬濇兂涔嬩竴銆備絾鏄紝瑕佷粠璁捐鍜屽師鍨嬮樁孌靛氨鑰冭檻鍚勯儴鍒嗗簲璇ヨ兘澶熷緢濂藉湴鍒嗙銆?br>36. 鎶ュ憡鎵鏈夌殑寮傚父<br>37. 鎻愪緵鏈夌敤鐨勯敊璇俊鎭?br>紼嶅井澶氳姳涓鐐瑰績鎬濓紝鍑洪敊鐨勬椂鍊欙紝灝嗙粰浣犲甫鏉ユ瀬澶т究鍒┿?<p><strong>鍥㈤槦鍗忎綔綃?br></strong>38. 瀹氭湡瀹夋帓浼?xì)闈㈡棄櫁?br>甯稿紑浼?xì)锛屽紑鐭細(xì)銆?br>39. 鏋舵瀯甯堝繀欏誨啓浠g爜 <p>涓嶅啓浠g爜鐨勬灦鏋勫笀涓嶆槸濂芥灦鏋勫笀銆傚ソ鐨勮璁¢兘鏉ヨ嚜瀹為檯緙栫▼銆傜紪紼嬪彲浠ュ甫鏉ユ繁鍏ョ殑鐞嗚В銆?br>40. 瀹炶浠g爜闆嗕綋鎵鏈夊埗<br>璁╁紑鍙戜漢鍛樺湪緋葷粺涓嶅悓鍖哄煙涓笉鍚岀殑妯″潡鍜屼換鍔′箣闂磋疆宀椼?br>41. 鎴愪負(fù)鎸囧鑰?br>鏁欏鐩擱暱銆傚垎浜兘鎻愰珮鍥㈤槦鐨勬諱綋鑳藉姏銆?br>42. 璁╁ぇ瀹惰嚜宸辨兂鍔炴硶 <p>鎸囧紩鏂瑰悜錛岃屼笉鏄洿鎺ユ彁渚涜В鍐蟲柟妗堛傝姣忎釜浜洪兘鏈夋満浼?xì)鍦q蹭腑瀛︿範(fàn)銆?br>43. 鍑嗗濂藉悗鍐嶅叡浜唬鐮?br>涓嶈鎻愪氦鏃犳硶緙栬瘧鎴栬呮病鏈夐氳繃鍗曞厓嫻嬭瘯鐨勪唬鐮侊紒<br>44. 鍋氫唬鐮佸鏌?br>澶嶆煡瀵規(guī)彁楂樹唬鐮佽川閲忋佸噺灝戦敊璇瀬涓洪噸瑕併?br>45. 鍙婃椂閫氭姤榪涘睍涓庨棶棰?<p>涓誨姩閫氭姤錛屼笉瑕佽鍒漢鏉ラ棶浣犮?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/169958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2012-04-03 21:40 <a href="http://m.shnenglu.com/sunicdavy/archive/2012/04/03/169958.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞澆]GameEngineArchitecture璇諱功絎旇(涓)http://m.shnenglu.com/sunicdavy/archive/2011/04/10/143890.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Sun, 10 Apr 2011 13:41:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2011/04/10/143890.htmlhttp://m.shnenglu.com/sunicdavy/comments/143890.htmlhttp://m.shnenglu.com/sunicdavy/archive/2011/04/10/143890.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/143890.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/143890.html
  • Game Team
    • 鍥藉AI鍜孉udio紼嬪簭鍛樻墍鍗犵殑瑙掕壊榪樻槸寰堥噸瑕佺殑, 鑰屽浗鍐匒I閮芥槸鏈嶅姟鍣ㄥ湪鍋? Audio鍩烘湰涓婃病鏈変漢涓嬪灝戝伐澶?
    • 緹庢湳鐨勮瘽TA瓚婃潵瓚婇噸瑕? 3D娓告垙寮鍙戜笉緙哄皯
    • 鍙﹀, 欏圭洰綆$悊涔熷緢閲嶈, 紼嬪簭鍛樻病鏈夐偅涔堝綺懼姏鍘誨叧娉ㄨ繖浜涗簨鎯?/li>
  • Game Engine
    • 寮曟搸鐨勪笁涓壒鎬? 鏁版嵁椹卞姩, 鍙鐢? 鍙墿灞?
    • 嫻佹淳
      • 絎竴浜虹О
        • 鍐欏疄鏁堟灉, 瀵逛簬鎶鏈姹傛渶楂? 鐪熷疄娓叉煋, 楂樺撫鐜? 鐗╃悊妯℃嫙, 鍔ㄧ敾鍜岄珮鏅鴻兘AI, 澶氫漢娓告垙鏀寔
      • 絎笁浜虹О
        • 鍗¢氭晥鏋? 涓板瘜鐨勫姩浣? 鍙氦浜掑満鏅?/li>
      • 鏍兼枟娓告垙
        • 澶ч噺鐨勫姩浣? 鎵撳嚮鍒ゅ畾, 瑙掕壊娓叉煋, 鐨偆/甯冩枡/姣涘彂娓叉煋
      • 绔為熸父鎴?
      • 鍗蟲椂鎴樼暐
        • 鍦板艦鏀寔. 澶嶆潅AI
      • 澶氫漢鍦ㄧ嚎
        • 鏈嶅姟鍣? 鍥懼艦鏁堟灉瑕佹眰浣?/li>
      • 鍏朵粬
    • 涓棿浠?
      • 娓告垙寮鍙戣秺鏉ヨ秺澶氱殑浣跨敤鍒頒腑闂翠歡, 娌℃湁鍝竴涓紩鎿庤兘鎶婃墍鏈夌殑閮ㄥ垎鍋氬埌鏋佽嚧
      • 鐜板湪鐨勫紩鎿庢洿鍍忔槸涓涓鍣? 鍚勭絎笁鏂規(guī)彃浠舵暣鍚堝埌涓璧?
      • 灝卞浗鍐呯幇鐘舵潵璇? 鐢ㄥ晢涓氬紩鎿庣殑涓鑸細(xì)鍐嶄拱鍑犱釜涓棿浠? 涓嶇劧鍔熻兘涓嶅叏; 鐢ㄨ嚜鐮斿紩鎿庣殑瑕佷箞鎵懼紑婧愮殑, 瑕佷箞鑷繁鍋?
      • 鍏稿瀷鐨勫嚑涓腑闂翠歡:
        • Lighting: Beast/Enlighten
        • Physics: Havok/PhysX/Bullet
        • Animation: Granny/Havok/Edge
        • AI: Kynapse/Xaiment
        • UI: Scaleform/Iggy
        • Video: Bink
        • Audio: fmod/XACT/Miles
        • Network: RakNet
    • Gameplay
      • 寰堝寮曟搸鏄己灝戣繖涓灞傜殑, 鍙兘OGRE鐨勬祦琛岃澶ч儴鍒嗕漢瑙夊緱娓叉煋寮曟搸灝辨槸娓告垙寮曟搸鍚?
      • 闄や簡娓叉煋, 鍍忓璞$郴緇? 浜嬩歡緋葷粺, 鑴氭湰緋葷粺, AI絳変篃鏄竴涓父鎴忓紩鎿庝笉鍙己灝戠殑閮ㄥ垎
    • Pipeline
      • 榪欐墠鏄竴涓紩鎿庡叿鏈夌珵浜夊姏鐨勫湴鏂? 鍥犱負(fù)瀹冪洿鎺ュ叧緋誨埌涓涓父鎴忕殑寮鍙戞晥鐜?
      • 瀵逛簬涓涓紩鎿庢潵璇? 鐢婚潰鏁堟灉铏界劧閲嶈, 浣嗘槸pipeline姣旂敾闈㈠拰鏁堢巼鏇翠負(fù)閲嶈
      • 娓告垙寮鍙戞槸涓笉鏂凱浠g殑榪囩▼, 鎵浠ユ彁楂樿凱浠g殑閫熷害涔熸剰鍛崇潃闄嶄綆鎴愭湰
      • 涓涓紩鎿? 涓嶇浠涔堥兘鏄洿緇曠潃"璧勬簮"鏉ヨ繘琛岀殑
    • Tools
      • 鐗堟湰綆$悊
        • 鏈寮濮嬫帴瑙︾殑鏄疭VN. 褰撶劧, 涓嶅彲鍚﹁榪欐槸寮婧愬厤璐圭殑鏈浣充唬琛? 鐢ㄦ潵綆$悊浠g爜榪樻槸涓嶉敊鐨? 浣嗘槸鐢ㄥ畠綆$悊緹庢湳璧勬簮鏃犵枒鏄釜鏁堢巼寰堜綆鐨勯夋嫨
        • Git/Hg, 鐩告瘮SVN鎴戣寰楁洿濂界敤涓浜? TortoiseGit鏄垜鐜板湪鐨勯閫? TortoiseHg鐢ㄤ簡涓孌墊椂闂? 璺烼ortoiseSVN鐨勬搷浣滀範(fàn)鎯樊鍒お澶? 鑰屼笖鐣岄潰榪樻槸python鐨? 涓嶅お涔?fàn)鎯?
        • Perforce, 鍟嗕笟瑙e喅鏂規(guī). 鏁堢巼鐨勭‘楂?鐗瑰埆鏄編鏈簩榪涘埗璧勬簮), 鎻掍歡(VS/Max/Maya/PS)涔熶笉閿? 浠嶴VN杞繃鏉ュ悗鑰佹槸瀵瑰畠鏌愪簺緇嗚妭鏈夌偣涓嶇埥, 鍥犱負(fù)瀹冧笉浼?xì)涓诲姩瀵规瘮鏂囦欢宸? 榪欎篃鏄畠涓轟粈涔堥熷害蹇殑鍘熷洜-_-
      • Profiling
        • VTune/CodyAnalyst鏄袱涓婄▼搴忕敤鐨勫伐鍏? 鏈榪戝彂鐜癡S2010鑷唬鐨勪篃鐩稿綋濂界敤, 涓嶅仛姹囩紪綰х殑鍒嗘瀽鐨勮瘽瀹屽叏澶熺敤浜?
        • PerfHUD/PIX/GPA: NV鐜板湪鎰熻瀵筆erfHUD鏀寔鐨勫皯浜? PIX濡傛灉紼嬪簭鍐欐硶涓嶆爣鍑嗕細(xì)鍒嗘瀽涓嶄簡. GPA鐜板湪鏄秺鏉ヨ秺濂界敤浜? 瑕佹槸鎶奝IX鐨勪竴浜涘姛鑳戒篃鍚告敹榪囧幓灝辨洿濂戒簡
  • 杞澆鑷? 閫嶉仴鑷湪鐨凜SDN鍗氬 http://blog.csdn.net/xoyojank/archive/2011/04/10/6313422.aspx



    ]]>
    VC鐨凴TTI緋葷粺鎬ц兘嫻嬭瘯http://m.shnenglu.com/sunicdavy/archive/2010/10/22/130893.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Fri, 22 Oct 2010 08:00:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/10/22/130893.htmlhttp://m.shnenglu.com/sunicdavy/comments/130893.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/10/22/130893.html#Feedback1http://m.shnenglu.com/sunicdavy/comments/commentRss/130893.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/130893.html嫻嬭瘯鐜錛歏isual Studio 2008 SP1

    嫻嬭瘯瀵硅薄錛歊TTI鐨刣ynamic_cast鍜岃嚜宸卞疄鐜扮殑RTTI緋葷粺錛屼唬鐮佸涓?/p>

            template<typename TClass>
            TClass* Cast( )
            {
                return IsKindOf( TClass::StaticGetClassInfo() ) ? (TClass*)this:null;
            }

     

        bool RTTIObject::IsKindOf( RTTIClass* ClassInfo )
        {
            RTTIClass* ThisClass = GetRTTIClass();
     
            if ( ThisClass == null )
                return false;
            
            return ThisClass->IsKindOf( ClassInfo );
        }

     

        bool RTTIClass::IsKindOf( RTTIClass* ClassInfo )
        {
            RTTIClass* ThisClass = this;
            while ( ThisClass != null )
            {
                if ( ClassInfo == ThisClass )
                    return true;
     
                ThisClass = ThisClass->mParentClass;
            }
     
            return false;
        }

     

    嫻嬭瘯浠g爜錛?/p>

    class ClassA : public RTTIObject
    {
    public:
    DECLARE_RTTI_CLASS( ClassA )
    int a;
    private:
    };
    IMPLEMENT_RTTIROOT( ClassA )
     
    class ClassB: public ClassA
    {
        DECLARE_RTTI_CLASS( ClassB )
    public:
    int b;
    private:
    };
    IMPLEMENT_RTTI_CLASS( ClassB, ClassA )
     
    class ClassC : public ClassB
    {
        DECLARE_RTTI_CLASS( ClassC )
    public:
    int c;
    private:
    };
    IMPLEMENT_RTTI_CLASS( ClassC, ClassB )
     
    class ClassD: public ClassA
    {
        DECLARE_RTTI_CLASS( ClassD )
    public:
    int d;
    private:
    };

        ClassC c;
        ClassD d;
        
        ClassA* fakeC = &c;
        ClassA* fakeD = &d;
     
        const int TestTimes = 10000;
     
        float t1 = TimeSource::GetAppTime();
     
        for ( int i = 0;i<TestTimes;i++)
        {
            ClassC* realC = dynamic_cast<ClassC*>(fakeC);
            ClassD* realD = dynamic_cast<ClassD*>(fakeD);
        }
     
        float t2 = TimeSource::GetAppTime() - t1;
     
        for ( int i = 0;i<TestTimes;i++)
        {
            ClassC* realC = fakeC->Cast<ClassC>( );
            ClassD* realD = fakeD->Cast<ClassD>( );
        }
     
        float t3 = TimeSource::GetAppTime() - t2;
     
        SimpleLog log;
        log.Debug(L"%f  %f", t2, t3);

     

    10000嬈★紝鍗曚綅:姣   dynamic_cast     Cast
            Debug 1.468590 5.173067
            Release 1.025950 0.702404

     

    鍙互鐪嬪緱鍑烘潵錛屾病鏈変紭鍖栬繃鐨凜ast浠g爜鎬ц兘鏋佸樊錛屼絾鏄紭鍖栬繃鐨凜ast鎬ц兘瓚呰秺浜嗙郴緇熺殑dynamic_cast,璺熻釜姹囩紪鍙戠幇緋葷粺鏈夊仛涓竴浜涘紓甯稿強bad_cast鐨勫鐞?/p>

    寤鴻錛氬彲浠ュ仛涓涓畯錛屽湪涓嶆敮鎸丷TTI鐨勭紪璇戝櫒鍙婂鉤鍙頒笅浣跨敤鑷繁鐨凜ast



    ]]>
    鍦╒C璋冭瘯鍣ㄤ腑鏄劇ずCEGUI 瀛楃涓?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/05/14/115356.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 14 May 2010 04:01:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/05/14/115356.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/115356.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/05/14/115356.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/115356.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/115356.html</trackback:ping><description><![CDATA[<p>CEGUI鐨勫瓧絎︿覆綾昏璁$殑鍒濊》鏄互32涓瓧絎︿負(fù)鍒嗙晫鐐? 浣庝簬32涓瓧絎︿嬌鐢ㄥ浐瀹歜uffer, 楂樹簬鎵嶄嬌鐢ㄦ爤鍒嗛厤鍐呭瓨瀛樺偍瀛楃涓? 涓嶈繃鍥犱負(fù)CEGUI浣跨敤utf32,鍏煎鎬ц櫧鐒跺緢濂?浣嗘槸鍦╒C璋冭瘯鍣ㄩ噷鏃犳硶鏄劇ず鏄釜寰堝ぇ鐨勯棶棰?</p> <p>榪欓噷鍙傝冧簡mybios鍗氬涓殑<a href="http://m.shnenglu.com/mybios/archive/2009/11/10/28914.html">鏂囩珷</a>,緇機EGUI瀛楃涓插仛涓涓猵atch</p> <p>鐒跺悗闇瑕佹壘鍒皏s2008鐨刟utoexp.dat鏂囦歡</p> <p>XP涓嬩綅浜?C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\autoexp.dat</p> <p>鐢ㄨ浜嬫湰絳夊伐鍏鋒墦寮, 鍦ˋutoExpand孌典腑鍍忚繖鏍鋒坊鍔?</p> <p>[AutoExpand]<br>; CEGUI String<br>CEGUI::String = str =<d_quickbuff,su> length =<d_cplength> <p>鍗沖彲鍦╒C璋冭瘯鍣ㄤ腑鐪嬪埌CEGUI瀛楃涓插唴瀹? 涓嶈繃涓枃榪樻槸鏆傛椂鏃犳硶鏀寔</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/115356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-05-14 12:01 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/05/14/115356.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>澧炲己楠ㄩ鍔ㄧ敾緋葷粺鐨勫嚑涓鐐?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/05/11/115080.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Tue, 11 May 2010 02:21:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/05/11/115080.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/115080.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/05/11/115080.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/115080.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/115080.html</trackback:ping><description><![CDATA[<p>瑕佸湪娓告垙涓敤鍒板己澶ц屾湁鎵╁睍鎬х殑楠ㄩ鍔ㄧ敾,鏈夊緢澶氭敞鎰忕偣.</p> <p>棣栧厛,鎴戜滑寰楀純鐢–PU钂欑毊, 铏界劧鍏煎鎬уソ,浣嗘槸闈㈠鐜頒粖澶氭牳浣嗗茍涓嶆彁楂樺崟鏍擱熺巼鐨勬儏鍐典笅,GPU榪樻槸鐜嬮亾.鑰屼笖GPU钂欑毊浠g爜鍙兘鏇寸畝鍗?涓嶈繃涔熸湁涓鐐瑰皬緙虹偣, 瀵逛簬灝忓紩鎿庢潵璇?Shader蹇呴』緇欓潤鎬佹ā鍨嬪拰楠ㄩ鍔ㄧ敾妯″瀷鍐欎袱濂?</p> <p>鍏舵鎴戜滑闇瑕佸姞寮轟竴涓猄ubSkin鐨勯楠兼敮鎸佹暟閲? 楠ㄩ鍔ㄧ敾涓婄殑姣忎釜SubSkin閮芥槸涓嬈raw, 浣嗘槸鎸夌収浼犵粺楠ㄩ鍔ㄧ敾緋葷粺,姣忎釜楠ㄥご瀵瑰簲涓涓煩闃典紶鍏?閭d箞SM2.0淇濆畧璁$畻鍙兘鏀寔50鏍歸澶? 涓嶈繃鍦ㄦ垜鍓嶆鏃墮棿鐨?a href="http://m.shnenglu.com/sunicdavy/archive/2010/04/26/113578.html">鏂囩珷</a>涓湁鎻愬埌榪欎釜鎶鏈?騫朵笖宸茬粡鍦ㄦ垜鐨勯楠煎姩鐢葷郴緇熷強OGRE涓疄鐜?鏁堟灉寰堝ソ.</p> <p>緹庢湳涔熻寰堝弽鎰熶竴涓漢鐗╁仛1涓猄ubSkin, 浠栦滑鏇存柊濂藉涓猄ubSkin,涔熷氨鏄韜綋姣忎釜閮ㄥ垎閮芥槸涓涓猄ubSkin, 榪欐牱鏂逛究淇敼, 鍚屾椂緋葷粺鏀寔鐨勯楠兼暟閲忚繕鍙互鏈変竴瀹氶噺鐨勪笂鍗?涓嶈繃鎴戜滑榪橀渶瑕佸仛涓涓儲寮曞伐浣? 浼犵粺鐨凣PU楠ㄩ鍔ㄧ敾涓繪槸鍦ㄦ覆鏌揝ubSkin鍓嶄紶鍏ユ墍鏈夎繖浜汼ubSkin闇瑕佺敤鍒扮殑楠ㄩ鐭╅樀. 浣嗘槸姣忎釜SubSkin騫朵笉涓瀹氳兘鐢ㄥ埌鎵鏈夌殑榪欎簺鐭╅樀,榪欐槑鏄炬槸涓縐嶆氮璐? 鍥犳鍦∣GRE涓仛榪囦竴嬈$儲寮曢澶勭悊,涔熷氨鏄皢姣忎釜SubSkin鐢ㄥ埌鐨勯楠肩粺璁″嚭鏉? 鍦ㄦ覆鏌撹繖嬈ubSkin鏃舵墠閲嶆柊浼犲埌GPU. 寰堟槑鏄?榪欐槸鐢ㄩ熷害榪樼┖闂村拰鍏煎鎬? 濡傛灉鍦―X10浠ヤ笂,鏈塁onstantBuffer榪樺ソ. DX9瀹炲湪澶參浜?/p> <p>浣跨敤Marker鐐圭殑鎹㈣緋葷粺寰堥毦澶勭悊渚嬪璐磋韓琛g墿榪欑被鐗╀歡鎹㈣. OGRE涓湁涓縐嶅叡浜楠肩殑鎶鏈? 鍙互鏀寔, 涓嶈繃浠庝唬鐮佸垎鏋愮湅鏉?榪欑鎶鏈CPU绔楠艱綆楅噺瀹炲湪鏄ぇ鐨勬儕浜? 鍥犳鎴戜滑鍐沖畾灝嗘暣涓猄ubSkin(涔熷氨鏄疭ubEntity)鎹㈡帀,榪欐牱鐢辯編鏈牴鎹笉鍚屾崲瑁呯被鍨嬫潵灝嗚。鏈嶅湪MAX涓洿鎺ョ粦瀹氬ソ鍚庣洿鎺ユ浛鎹㈠師濮嬫ā鍨嬩腑鐨凷ubSkin鍗沖彲杈懼埌鎹㈣鏁堟灉.鍙互璇磋繖鏄粠鍔ㄦ佽綆楀埌闈欐侀澶勭悊鐨勮漿鍙?鏁堢巼鎻愬崌寰堝.</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/115080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-05-11 10:21 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/05/11/115080.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞澆|鎺ㄨ崘] 闈炲父媯掔殑ARPG寮曟搸LingEnginehttp://m.shnenglu.com/sunicdavy/archive/2010/05/07/114724.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Fri, 07 May 2010 02:12:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/05/07/114724.htmlhttp://m.shnenglu.com/sunicdavy/comments/114724.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/05/07/114724.html#Feedback2http://m.shnenglu.com/sunicdavy/comments/commentRss/114724.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/114724.html鍦ㄩ?a >http://www.opengpu.org/index.php 鏃跺彂鐜頒竴涓紭縐鐨凙RPG瀹㈡埛绔紩鎿?a >LingEngine

    鍚勪綅鍙互涓嬭澆鐪嬩笅

     

    image

    浠庣洿瑙備釜浜哄垎鏋愯寮曟搸鎶鏈寘鎷?

    1. 鍩轟簬SlimDX鐨?NET寮曟搸

    2. JavaScript鑴氭湰

    3. 鍦烘櫙鍓旈櫎鏁堢巼榪樹笉閿?/p>

    4. 鎵嬫劅闈炲父媯? 涓嶄簹浜嶹OW

     

    浠?a >鍗氬閲岃繕鏈夊嚑綃囧叧浜庝繚鐣欐ā寮忓紩鎿庣殑璁ㄨ. 涓漢瑙夊緱榪欏ぇ姒傛槸浠ュ悗鐨勮秼鍔? 寰蔣鐨刉PF棣栧厛褰撲簡鐐伆, 搴嗗垢.



    ]]>
    [鍘熷垱]鎻愰珮Shader Model 2.0 钂欑毊楠ㄩ鍔ㄧ敾鐨勯楠奸檺鍒?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/04/26/113578.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Mon, 26 Apr 2010 05:31:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/04/26/113578.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/113578.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/04/26/113578.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/113578.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/113578.html</trackback:ping><description><![CDATA[<p>浼犵粺鐨勮挋鐨楠煎姩鐢繪販鍚堟柟娉曟槗浜庣悊瑙?浣嗘槸鍦⊿M 2.0鐨?56甯擱噺闄愬埗涓?楠ㄩ鏁頒繚瀹堣綆楁渶澶?0鏍歸澶?鍥犳瀵圭編鏈殑宸ヤ綔嫻佺▼浠ュ強妯″瀷娓叉煋鏂規(guī)硶閫犳垚浜嗗緢澶х殑闅滅</p> <div id="hvzpftn" class="csharpcode"><pre class="alt">float4x4 matBoneArray[40]; <span id="hvzpftn" class="rem">// 榪欐槸浼犺緭鐨勭摱棰?/span></pre><pre> </pre><pre class="alt">VS_OUTPUT vs_main( SkinnedVS_INPUT In )</pre><pre>{</pre><pre class="alt"> </pre><pre> VS_OUTPUT Out = (VS_OUTPUT)0;</pre><pre class="alt"> </pre><pre> float4x4 skinTransform = 0;</pre><pre class="alt"> </pre><pre> skinTransform += matBoneArray[In.BoneIndices.x] * In.BoneWeights.x;</pre><pre class="alt"> skinTransform += matBoneArray[In.BoneIndices.y] * In.BoneWeights.y;</pre><pre> skinTransform += matBoneArray[In.BoneIndices.z] * In.BoneWeights.z;</pre><pre class="alt"> skinTransform += matBoneArray[In.BoneIndices.w] * In.BoneWeights.w;</pre><pre> float4 localpos = mul(In.Position, skinTransform);</pre><pre class="alt"> </pre><pre> Out.Position = mul( localpos, matViewProj ); </pre><pre class="alt"> Out.TexCoord = In.TexCoord;</pre><pre> </pre><pre class="alt"> <span id="hvzpftn" class="kwrd">return</span> Out;</pre><pre>}</pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>matBoneArray榪欎釜鏁扮粍鏄楠肩殑LocalRot鍜孡ocalTranslation 閫氳繃浠ヤ笅鍑芥暟build鍑烘潵</p> <div id="hvzpftn" class="csharpcode"><pre class="alt"> Matrix4& Matrix4::FromTranslationRotation( <span id="hvzpftn" class="kwrd">const</span> Vector3& translation, <span id="hvzpftn" class="kwrd">const</span> Quaternion& rotation )</pre><pre> {</pre><pre class="alt"> <span id="hvzpftn" class="kwrd">float</span> xx = rotation.x * rotation.x * 2.0f, yy = rotation.y * rotation.y * 2.0f, zz = rotation.z * rotation.z * 2.0f;</pre><pre> <span id="hvzpftn" class="kwrd">float</span> xy = rotation.x * rotation.y * 2.0f, zw = rotation.z * rotation.w * 2.0f, xz = rotation.x * rotation.z * 2.0f;</pre><pre class="alt"> <span id="hvzpftn" class="kwrd">float</span> yw = rotation.y * rotation.w * 2.0f, yz = rotation.y * rotation.z * 2.0f, xw = rotation.x * rotation.w * 2.0f;</pre><pre> </pre><pre class="alt"> m[0][0] = 1.0f - yy - zz; m[0][1] = xy + zw; m[0][2] = xz - yw; m[0][3] = 0.0f;</pre><pre> m[1][0] = xy - zw; m[1][1] = 1.0f - xx - zz; m[1][2] = yz + xw; m[1][3] = 0.0f;</pre><pre class="alt"> m[2][0] = xz + yw; m[2][1] = yz - xw; m[2][2] = 1.0f - xx - yy; m[2][3] = 0.0f;</pre><pre> m[3][0] = translation.x; m[3][1] = translation.y; m[3][2] = translation.z; m[3][3] = 1.0f;</pre><pre class="alt"> </pre><pre> <span id="hvzpftn" class="kwrd">return</span> *<span id="hvzpftn" class="kwrd">this</span>;</pre><pre class="alt"> }</pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p></p> <p>浠庤繖閲屼綘鍙互鍙戠幇, 鏈潵姣忔牴楠ㄥご鍙渶瑕?涓猣loat4 浼犻掑彉鎹俊鎭殑,鐜板湪鍗撮渶瑕?涓猣loat4,涔熷氨鏄竴涓煩闃墊潵浼犻?鐭╅樀涓繕鏈夊緢澶氫笉浣跨敤鐨勫彉閲忎篃琚紶杈撳埌GPU涓?榪欓噷灝辨槸浼樺寲鐨勭偣.</p> <p>閲嶆柊璋冩暣鍚庣殑Shader浠g爜:</p> <div id="hvzpftn" class="csharpcode"><pre class="alt">float4x4 BuildFromTransRot( float4 translation, float4 rot )</pre><pre>{</pre><pre class="alt"> float4 rotation = rot;</pre><pre> </pre><pre class="alt"> <span id="hvzpftn" class="kwrd">float</span> xx = rotation.x * rotation.x * 2.0f, yy = rotation.y * rotation.y * 2.0f, zz = rotation.z * rotation.z * 2.0f;</pre><pre> <span id="hvzpftn" class="kwrd">float</span> xy = rotation.x * rotation.y * 2.0f, zw = rotation.z * rotation.w * 2.0f, xz = rotation.x * rotation.z * 2.0f;</pre><pre class="alt"> <span id="hvzpftn" class="kwrd">float</span> yw = rotation.y * rotation.w * 2.0f, yz = rotation.y * rotation.z * 2.0f, xw = rotation.x * rotation.w * 2.0f;</pre><pre> float4x4 m = { </pre><pre class="alt"> {1.0f - yy - zz, xy + zw, xz - yw, 0},</pre><pre> {xy - zw, 1.0f - xx - zz, yz + xw, 0},</pre><pre class="alt"> {xz + yw, yz - xw, 1.0f - xx - yy, 0},</pre><pre> {translation.x, translation.y, translation.z, 1}</pre><pre class="alt"> </pre><pre> };</pre><pre class="alt"> </pre><pre> <span id="hvzpftn" class="kwrd">return</span> m;</pre><pre class="alt">}</pre><pre> </pre><pre class="alt">float4x4 GetBoneElement( <span id="hvzpftn" class="kwrd">float</span> index )</pre><pre>{</pre><pre class="alt"> <span id="hvzpftn" class="kwrd">return</span> BuildFromTransRot( vecBoneLocalTrans[index], vecBoneLocalRot[index] );</pre><pre>}</pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p></p> <div id="hvzpftn" class="csharpcode"><pre class="alt">VS_OUTPUT vs_main( SkinnedVS_INPUT In )</pre><pre>{</pre><pre class="alt"> </pre><pre> VS_OUTPUT Out = (VS_OUTPUT)0;</pre><pre class="alt"> </pre><pre> float4x4 skinTransform = 0;</pre><pre class="alt"> </pre><pre> skinTransform += GetBoneElement(In.BoneIndices.x) * In.BoneWeights.x;</pre><pre class="alt"> skinTransform += GetBoneElement(In.BoneIndices.y) * In.BoneWeights.y;</pre><pre> skinTransform += GetBoneElement(In.BoneIndices.z) * In.BoneWeights.z;</pre><pre class="alt"> skinTransform += GetBoneElement(In.BoneIndices.w) * In.BoneWeights.w;</pre><pre> float4 localpos = mul(In.Position, skinTransform);</pre><pre class="alt"> </pre><pre> Out.Position = mul( localpos, matViewProj ); </pre><pre class="alt"> Out.TexCoord = In.TexCoord;</pre><pre> </pre><pre class="alt"> <span id="hvzpftn" class="kwrd">return</span> Out;</pre><pre>}</pre></div> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>鎴戜滑灝嗛澶寸殑local鏃嬭漿鍙婂亸縐諱紶閫掕嚦GPU,鐒跺悗鍦℅PU鍐呴噸緇?铏界劧瀵笹PU鎬ц兘璁$畻鏈夐儴鍒嗘崯鑰?浣嗘槸楠ㄩ鏁伴噺灝辮兘淇濆畧鎻愰珮鍒?00涓?</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/113578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-04-26 13:31 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/04/26/113578.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>娓告垙宸ョ▼閲岀殑浣跨敤C++闈欐佸簱涓庡姩鎬佸簱http://m.shnenglu.com/sunicdavy/archive/2010/04/07/111859.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Wed, 07 Apr 2010 08:08:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/04/07/111859.htmlhttp://m.shnenglu.com/sunicdavy/comments/111859.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/04/07/111859.html#Feedback2http://m.shnenglu.com/sunicdavy/comments/commentRss/111859.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/111859.html鍋囪鎴戜滑鏈?涓伐紼嬪強鍏跺伐紼嬬被鍨嬶細(xì)

    CORE              DLL

    ENGINE           DLL

    GAME             EXE

    D3DRENDER      DLL

    鍏朵腑D3DRENDER鏄疓AME鍔ㄦ佽澆鍏ョ殑錛屽叾闇瑕侀摼鎺ORE,ENGINE

    榪欐槸涓涓緢甯歌鐨勬ā寮忥紝浣嗘槸涓嶅ソ鐨勬槸錛屽洜涓篊ORE鍜孍NGINE鍧囨槸DLL錛屼唬鐮佷腑鐨凷ymbol閮借瀵煎嚭鎵嶅彲浣跨敤銆備換浣曚漢浣跨敤DEPENDENCE宸ュ叿灝卞彲浠ュ皢DLL涓紩鐢ㄧ殑涓滆タ鏌ョ湅鐨勬竻妤氾紝铏界劧榪欎笉鑷充簬閫犳垚鎶鏈硠婕忥紝浣嗕粠閫熷害鍜孌LL澶у皬鏉ヨ閮芥槸涓嶅垝綆楃殑銆?/p>

    鐜板湪寰堝娓告垙涓籩xe涓鑸兘鏄?0M+鐢氳嚦20M+鐨勫ぇexe錛岃繖閮芥槸浣跨敤闈欐侀摼鎺ヨ屾垚銆備絾鏄浠g爜緇撴瀯涔熷繀欏誨仛鍑轟竴瀹氱殑璋冩暣銆傛墍鏈夊伐紼嬪繀欏婚兘鏄潤鎬佸簱錛岃繖鏍鋒墠鑳戒繚璇佸儚CORE榪欐牱鐨勯潤鎬佸簱涓殑鍏ㄥ眬/闈欐佸彉閲忎笉鑷充簬琚摼鎺?浠借岄犳垚鍐呭瓨孌甸昏緫閿欒銆?/p>

    褰撶劧錛屼嬌鐢ㄥ叏闈欐佸簱榪橀渶瑕佹敞鎰忎竴鐐癸細(xì)鎵鏈夌殑lib閮芥槸鍦ㄦ渶鍚庣殑game宸ョ▼閲屾潵鍋氶摼鎺ャ?/p>

    ]]>
    [杞琞铏氬夠寮曟搸UDK寮鍙戝畼鏂硅棰戞暀紼?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/04/07/111833.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Wed, 07 Apr 2010 02:36:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/04/07/111833.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/111833.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/04/07/111833.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/111833.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/111833.html</trackback:ping><description><![CDATA[<p>杞澆鑷?<a >鐙珛娓告垙涓枃璁哄潧</a> <p>UDK鏄痷nrealengine develpoment kit 鐨勭緝鍐欙紝綆鍗曟潵璇村氨鏄ぇ鍚嶉紟榧庣殑铏氬夠錛撳紩鎿庣殑鍏嶈垂鍟嗕笟鐗堟湰錛庝笉榪囪櫄騫伙紦姣曠珶榪樻槸錛斿勾鍓嶇殑dx9鐨勫叆闂ㄧ駭寮曟搸錛屽湪鍟嗕笟涓婂彇寰?br>宸ㄥぇ鎴愬姛錛屾妧鏈笂涔熸樉寰楄惤鍚庯紟鐩墠Epic鎯蟲Θ騫茶櫄騫伙紦鐨勬渶鍚庝竴鐐規(guī)綔鍔涳紝浜庢槸騫茶剢鍙戝竷浜嗚繖涓厤璐圭増鏈紟浠諱綍浜洪兘鍙互鐢嫉錛わ極寮鍙戞父鎴忥紝浣嗘槸濡傛灉娓告垙鐗熷埄鐨勮瘽姣忓勾榪樻槸瑕佸悜<br>Epic浜ょ撼涓瀹氭暟閲忕殑鎶鏈巿鏉冭垂鐢ㄧ殑錛庡厛涓嶇榪欎釜錛岃繕鏄潵鐪嬬湅瀹冪殑瀹樻柟瑙嗛鏁欑▼鍚э紟<br>銆銆[attach]44[/attach]<br>閾炬帴濡備笅錛氥銆<br><a >http://udn.epicgames.com/Three/VideoTutorials.html</a><br>涓鍏憋紩涓暀紼嬨浠庡紩鎿庨厤緗粙緇嶅紑濮嬶紝鍒板叧鍗″拰浜虹墿緙栬緫鍣紝浠ュ強鏈鍚庝竴涓畬鏁寸殑灝忔父鎴忕殑鍒朵綔錛屽浜庡叆闂ㄦ潵璇村畬鍏ㄨ凍澶熶簡錛?br>瑙嗛璇寸殑榪樻瘮杈冭緇嗭紝鍚姏涓嶅ソ鐨勫悓瀛﹀彲浠ュ鐓т笅寮鍙戞枃妗c<a >http://www.udk.com/documentation</a>銆閲岄潰鍩烘湰璇寸殑寰堣緇嗭紟<br>鏈鍚庨檮涓婏嫉錛わ極鐨勪笅杞藉湴鍧錛氥<a >March 2010 UDK Beta</a> (548 MB .exe)銆<br>濂戒簡錛岋嫉錛わ極瀵逛簬鍒濆鑰呮潵璇磋繕鏄瘮杈冮傚悎鐨勶紟瀵逛簬娓告垙鐨勫紑鍙戜漢鍛樻潵璇村紩鎿庣殑鏁翠綋鏋舵瀯榪樻槸寰堝煎緱瀛︿範(fàn)鐨勶紟甯屾湜浣犲鐨勬剦蹇紟</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/111833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-04-07 10:36 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/04/07/111833.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>妯℃嫙OGRE鐨凜ompositorhttp://m.shnenglu.com/sunicdavy/archive/2010/04/01/111312.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Thu, 01 Apr 2010 10:56:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/04/01/111312.htmlhttp://m.shnenglu.com/sunicdavy/comments/111312.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/04/01/111312.html#Feedback1http://m.shnenglu.com/sunicdavy/comments/commentRss/111312.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/111312.htmlRenderTarget瀹屾垚鍚庯紝寮濮嬫ā鎷烵GRE鐨凜ompositor銆?/p>

    OGRE鐨凜ompositor鍏跺疄灝辨槸鐢ㄤ簬瑙e喅緇樺埗PostEffect鐨勶紝綆鍗曠殑璇達(dá)紝灝辨槸涓縐峈enderTarget鐨勬祦紼嬫帶鍒惰剼鏈?/p>

    榪欐槸OGRE compositor鏂囦歡鐨勭墖孌?/p>

    compositor Bloom
    {
        technique
        {
            // Temporary textures
            texture rt_output target_width target_height PF_R8G8B8
            texture rt0 target_width_scaled 0.25 target_height_scaled 0.25 PF_R8G8B8
            texture rt1 target_width_scaled 0.25 target_height_scaled 0.25 PF_R8G8B8
     
            target rt_output
            {
                // Render output from previous compositor (or original scene)
                input previous
            }
     
            target rt0
            {
                // Start with clear texture
                input none
                // Horizontal blur pass
                pass render_quad
                {
                    // Renders a fullscreen quad with a material
                    material Ogre/Compositor/BrightPass2
                    input 0 rt_output
                }
            }
     
            target rt1
            {
                // Start with clear texture
                input none
                // Horizontal blur pass
                pass render_quad
                {
                    // Renders a fullscreen quad with a material
                    material Ogre/Compositor/BlurV
                    input 0 rt0
                }
            }
     
            target rt0
            {
                // Start with clear texture
                input none
                // Horizontal blur pass
                pass render_quad
                {
                    // Renders a fullscreen quad with a material
                    material Ogre/Compositor/BlurH
                    input 0 rt1
                }
            }
     
            target_output
            {
                // Start with clear output
                input none
                // Draw a fullscreen quad
                pass render_quad
                {
                    // Renders a fullscreen quad with a material
                    material Ogre/Compositor/BloomBlend2
                    input 0 rt_output
                    input 1 rt0
                }
            }
        }
    }

     

    澶ф鎴戜滑鐭ラ亾錛屼竴涓狢ompositor鍒嗕負(fù)璧勬簮瀹氫箟涓庣粯鍒舵楠わ紙target xxx錛?/p>

    鑰屼竴涓粯鍒舵楠ゅ張鍒嗗埆瀹氫箟錛?/p>

    1. 錛堣緭鍏ワ級緇樺埗鐨勬槸浠涔堜笢瑗匡紵

    2. 錛堟晥鏋滐級緇樺埗鎴愪粈涔堟牱瀛愶紵

    3. 錛堣緭鍑猴級寰鍝噷緇樺埗錛?/p>

    杈撳嚭鏂瑰紡鍦ㄨ繖涓緥瀛愭湁2縐嶏細(xì)綰圭悊錛圧T錛夊拰灞忓箷

    杈撳叆鏂瑰紡鏈?涓細(xì)綰圭悊鍙婂満鏅?/p>

    鎴戜滑鍙互浣跨敤涓涓洖璋冩潵瀵逛竴涓粯鍒舵楠ゆ彁渚涚粯鍒惰緭鍏?/p>

    緇樺埗鏁堟灉灝辨槸涓澶у爢鐨凷hader錛岃繖浜泂hader閮芥槸鍩轟簬涓涓猶uad鏉ュ仛鐨勶紝涔熷氨鏄竴涓煩褰紝浣跨敤鍙樻崲鍚庣殑欏剁偣鍜屼竴涓汗鐞嗗潗鏍囦綔涓洪《鐐瑰畾涔?/p>

    涓嶈繃榪欓噷鏄笉闇瑕佸仛vertexshader鐨勶紝浠呬粎ps瓚崇煟銆?/p>

    緇樺埗鐨勬渶鍚庯紝鏄皢鍓嶉潰緇樺埗鐨凴T錛堢汗鐞嗭級娣峰悎璧鋒潵

    褰撶劧錛屽鏋滄楠ゆ瘮杈冨鍜屽鏉傛椂錛孯T涔嬮棿璺熷瘎瀛樺櫒涓鏍鳳紝鍙互鍙嶅浣跨敤

    YR7HEX8VAB[67GPOWLNPIBA

    鏄劇ず鑼跺6娉曠嚎鐨勫満鏅姞涓?Blur 鐨凱ostEffect

    <?xml version="1.0" encoding="gb2312" ?>
    <Compositor name = "bloom" >
      <Resource>
        <RenderTarget name ="rt_source" size="screenquad" />
        <RenderTarget name ="rt0" size="screenquad" />
        <RenderTarget name ="rt1" size="screenquad" />
      </Resource>
      <Step target="rt_source">
        <Geometry type ="callback" callback = "rt_input"/>
      </Step>
      <Step target="rt0">
        <Geometry type = "screenquad"/>
        <Effect name ="material\blurH.xml">
          <Texture name ="mTexture" value ="rt_source" />
        </Effect>
      </Step>
      <Step target="rt1">
        <Geometry type = "screenquad"/>
        <Effect name ="material\blurV.xml">
          <Texture name ="mTexture" value ="rt_source" />
        </Effect>
      </Step>
      <Step>
        <Geometry type = "screenquad"/>
        <Effect name ="material\combine.xml">
          <Texture name ="mTexture1" value ="rt0" />
          <Texture name ="mTexture2" value ="rt1" />
        </Effect>
      </Step>
    </Compositor>
    榪欐槸鎴戠殑寮曟搸閲岀殑Compositor鑴氭湰錛岃繕鍦ㄦ參鎱㈠姞寮哄姛鑳斤紝甯屾湜鑳芥湁涓澶╄揪鍒癘GRE鐨凜ompositor鍔熻兘

    ]]>
    涓濂楀彲鎵╁厖鐨勬父鎴忔ā鍨嬬郴緇?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/03/12/109538.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 12 Mar 2010 08:13:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/03/12/109538.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/109538.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/03/12/109538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/109538.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/109538.html</trackback:ping><description><![CDATA[<p>鏈漢鐨勮璁″浘鍙互鏂逛究鍦ㄦ枃鏈紪杈戝櫒閲屾煡鐪?>涓烘淳鐢?+涓哄寘鍚? <p>MAX鎻掍歡瀵煎嚭鐨勬ā鍨嬭祫婧愬垎錛歁esh/Skin, Skeleton, Animation <p>涓嶅悓鍔ㄤ綔鎸夌収涓嶅悓鐨勫姩鐢繪枃浠朵繚瀛?<p>  <p>ResourceHandle 鍖呭惈鍩烘湰id<br>        >NamedResourceHandle 甯︽湁鍚嶇О璧勬簮錛屽寘鍚玥ashA, hashB錛?浣跨敤鏆撮洩hash鍑芥暟鐢熸垚<br>        >ModelHandle        <br>        >MeshHandle            <br>        >SkeletonHandle        <br>        >AnimationHandle <p>鑾峰彇璧勬簮錛屽鏋滆祫婧愪笉瀛樺湪鏃訛紝鑷姩鍔犺澆<br>ModelMaster.ManualCache( &ModelHandle ) <p>鐩存帴璧勬簮璁塊棶錛?br>RawSkeleton = ModelMaster.ManualCache( &SkeletonHandle("a.skl") )<br>RawSkeleton->GetMarker(...) <p>寮傛璧勬簮鍔犺澆錛屽紓姝d淇濆瓨浜嶮odelHandle涓紝鍦╟allback涓牴鎹甶d紜<br>ModelMaster.AsyncCache( &ModelHandle ) <p>鑾峰彇璧勬簮鎸囬拡錛屾湭鍔犺澆鏃訛紝榪斿洖絀?br>ModelResource = ModelMaster.Fetch( &ModelHandle ) <p>妯″瀷璧勬簮鍔犺澆鍣?br>    鍦ㄦā鍨嬪彞鏌勪腑緇戝畾瀵瑰簲鍔犺澆鍣?br>    鍙互鑷緙栧啓甯︽崲瑁呯殑ModelLoader錛岄氳繃璇誨彇鑷繁鐨勯厤緗枃浠訛紝鑷鍔犺澆璧勬簮鍚庣敓鎴怰awModel<br>ModelLoader<br>    ModelHandle         ---mapping--->    ModelLoader         ---generate--> RawModel<br>    MeshHandle          ---mapping--->    MeshLoader             ---generate--> RawMesh<br>    SkeletonHandle     ---mapping--->    SkeletonLoader      ---generate--> RawSkeleton<br>    AnimationHandle    ---mapping--->    AnimationLoader   ---generate--> RawAnimation <p>寮曠敤璁℃暟綾?nbsp;   <br>ModelResource<br>    >RawModel<br>    >RawMesh<br>    >RawSkeleton<br>    >RawAnimation <p>RawModel涓笉淇濈暀Handle錛屽彧淇濈暀鎸囬拡<br>RawModel<br>    +MeshVB    浠庢ā鍨嬫枃浠朵腑鐩存帴璇誨彇欏剁偣鏍煎紡錛屽寘鍚?闈欐?GPU,CPU綾誨瀷欏剁偣<br>        +RawMesh<br>        +MeshIB        涓嬈℃у~鍏匢B<br>        >GPUMeshVB    涓嬈℃у~鍏匳B<br>        >CPUMeshVB    姣忓撫璁$畻<br>    +Animation            榪愯鏈熸暟鎹紙鏃墮棿/甯э級<br>        +RawAnimation    鍘熷鍔ㄧ敾鍐呭<br>    +Skeleton<br>        +RawSkeleton</p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/109538.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-03-12 16:13 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/03/12/109538.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏋氫婦鍙嶅皠瀵硅薄鍜岀粨鏋勪綋鍙嶅皠濉厖http://m.shnenglu.com/sunicdavy/archive/2010/02/26/108509.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Fri, 26 Feb 2010 09:58:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/02/26/108509.htmlhttp://m.shnenglu.com/sunicdavy/comments/108509.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/02/26/108509.html#Feedback0http://m.shnenglu.com/sunicdavy/comments/commentRss/108509.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/108509.html 

    鏈榪戝湪鍐橠3D9妯℃嫙D3D10鎺ュ彛鐨勬覆鏌撶郴緇熶腑紕板埌澶ч噺鐨勬覆鏌撶姸鎬佸璞★紝涓嶄粎鎴愬憳澶氾紝鏋氫婦涔熷鐨勮鍛姐?/p>

     

        struct CORE_API RasterizerState : ResourceHandle            
        {
            eFillMode            mFillMode;        
            eCullMode            mCullMode;
            bool                mFrontFaceCCW;
            float                mDepthBias;
            float                mSlopeScaledDepthBias;
            bool                mDepthClipEnable;
            bool                mScissorEnable;
            bool                mMultisampleEnable;
    
            RasterizerState();
        };
    

    鑰岃浠庨厤緗枃浠朵腑璇誨彇鏁版嵁騫跺~鍏呭埌榪欎釜緇撴瀯浣擄紝瀵逛簬C++鏉ヨ瀹屽叏灝辨槸鍚冨姏涓嶈濂界殑錛屽啓鍑烘潵鐨勪唬鐮佷篃鏄瀬涓鴻繃紼嬶紝淇敼鍜屾墿灞曟瀬涓洪夯鐑︾殑銆?/p>

    鍥犳鍐沖畾浣跨敤鍙嶅皠鐨勬柟娉曟潵濉厖鏁版嵁錛屽厛鎬葷粨涓涓嬫垜鐨凜++鍙嶅皠緋葷粺

    class RTTIObject // 鍔ㄦ佺被鍨嬭瘑鍒璞″熀綾伙紝瀵硅薄閫氳繃涓浜涘畯鍚庡彲浠ュ緢鏂逛究鐨勯氳繃瀛楃涓插垱寤哄嚭綾誨疄渚嬶紝騫朵笖鍙互鏌ヨ娉ㄥ唽鏃剁殑綾誨瀷鍜屽叾浠栫粦瀹氫俊鎭?/span>
    class NameRef  // 鍚嶅瓧琛紝綾諱技浜庤櫄騫諱腑鐨凢Name錛屽彲浠ュ畾涔塁onst鍜屾櫘閫歂ame錛屾瘮杈冨拰鎷瘋礉鍙槸涓涓猟word鑰楄垂鐨勬椂闂?/span>
    value_parse錛寁alue_tostring錛寁alue_typename // 涓緋誨垪綾誨瀷妯℃澘鍑芥暟錛屾彁渚涘綾誨瀷鐨凾oString錛孭arse鍙婄被鍨嬪悕鏌ヨ

     

    棣栧厛闇瑕佸鐞嗙殑鏄灇涓炬煡璇紝榪欓噷灝嗘灇涓鵑氳繃瀹忓仛鎴愪竴涓釜鏋氫婦瀵硅薄錛屽茍鍙互閫氳繃鍚嶅瓧鍒涘緩瀹炰緥

    #define DECLARE_ENUMOBJECT( TEnum ) \
        struct EnumObject_##TEnum : EnumObject\
        {\
        DECLARE_RTTIOBJECT( EnumObject_##TEnum );\
        EnumObject_##TEnum( );\
        };
    
    
    #define IMPLEMENT_ENUMOBJECT_BEGIN( TEnum, TEnum_prefixoffset, TMember_prefixoffset ) \
        IMPLEMENT_RTTIOBJECT_STRING( EnumObject_##TEnum, #TEnum + TEnum_prefixoffset, #TEnum + TEnum_prefixoffset, "EnumObject" )\
        EnumObject_##TEnum::EnumObject_##TEnum(){ const int member_prefixoffset = TMember_prefixoffset;
    
    #define ENUMOBJECT_ADD( enumkey ) AddMember( #enumkey + member_prefixoffset, (dword)enumkey );
    
    #define IMPLEMENT_ENUMOBJECT_END }
    
    #define ENUMOBJECT_STATICINIT( TEnum ) EnumObject_##TEnum::StaticInit();
    

    EnumObject 涓氳繃瀹忓皢鏋氫婦鐨勫悕縐板拰鍊間繚瀛樺湪榪欎釜瀵硅薄涓?/p>

    IMPLEMENT_ENUMOBJECT_BEGIN( eFillMode, 1, 3 )  // 榪欓噷鐨?錛?鏄皢eFillMode鍙奆M_Point杞垚瀛楃涓插悗鍘繪帀鍓嶇紑
        ENUMOBJECT_ADD( FM_Point )
        ENUMOBJECT_ADD( FM_Line )
        ENUMOBJECT_ADD( FM_Fill )
    IMPLEMENT_ENUMOBJECT_END
    
    // 娉ㄥ唽鍒癛TTIObject緋葷粺
    
    ENUMOBJECT_STATICINIT( eFillMode )
    

     

    // 閫氳繃鏋氫婦瀵硅薄鍙互鏌ユ壘鍒板瓧絎︿覆瀵瑰簲鐨勫?/span>
    dword v;
    EnumObject::GetEnumValue( "FillMode", "Point", v )
    
    
    
    

    涓嬩竴姝ユ槸灝嗙粨鏋勪綋鎴愬憳淇℃伅璁板綍

        void SettingObject::BindMember( const NameRef& objname, void* instancePtr, void* dataPtr, SettingProxy* proxy )
        {
            proxy->mOffset = dword(dataPtr) - dword(instancePtr);
    
            MemberList& memberlist = mSettingMap[ objname ];
            memberlist[ proxy->mName ] = proxy;
        }

    榪欓噷璁板綍鐨勬槸緇撴瀯浣撴垚鍛樼殑鍐呭瓨鍋忕Щ

    浣跨敤澶ч噺鐨勫畯錛屽彲浠ヨ緇撴瀯浣撶粦瀹氬彉寰楁紓浜?/p>

    #define BIND_SETTINGOBJECT_BEGIN( TClass ) \
        { const NameRef& soname = TClass::StaticGetClassInfo()->mClassName;TClass soobj;
    
    #define BIND_SO_MEMBER( TMemberType, TMember ) \
        so.BindMember( soname, &soobj, &soobj.TMember, new TSettingElement<TMemberType>(#TMember + 1 ) );
    
    #define BIND_SO_MEMBER_NAME( TMemberType, TMember, TName ) \
        so.BindMember( soname, &soobj, &soobj.TMember, new TSettingElement<TMemberType>(TName) );
    
    #define BIND_SO_ENUM( TEnumType, TMember ) \
        so.BindMember( soname, &soobj, &soobj.TMember, new TSettingEnum(#TMember + 1, #TEnumType + 1) );
    
    #define BIND_SO_ENUM_NAME( TEnumType, TMember, TName ) \
        so.BindMember( soname, &soobj, &soobj.TMember, new TSettingEnum(TName, #TEnumType + 1) );
    
    #define BIND_SETTINGOBJECT_END }

    緇戝畾浠g爜濡備笅

            BIND_SETTINGOBJECT_BEGIN( RasterizerState )
                BIND_SO_ENUM    ( eFillMode    , mFillMode )
                BIND_SO_ENUM    ( eCullMode    , mCullMode )
                BIND_SO_MEMBER    ( bool        , mFrontFaceCCW )
                BIND_SO_MEMBER    ( float        , mDepthBias )
                BIND_SO_MEMBER    ( float        , mSlopeScaledDepthBias)
                BIND_SO_MEMBER    ( bool        , mDepthClipEnable)
                BIND_SO_MEMBER    ( bool        , mScissorEnable)
                BIND_SO_MEMBER    ( bool        , mMultisampleEnable)
            BIND_SETTINGOBJECT_END

     

    鎵鏈夌粨鏋勪綋鐨勪俊鎭璁板綍鍦⊿ettingObject涓紝璇誨彇閰嶇疆鏂囦歡濉厖緇撴瀯浣撶殑浠誨姟灝卞彉寰楀紓甯哥殑綆鍗曚簡

        SettingObject settings;
    // 灝嗘墍鏈夌殑緇撴瀯浣撲俊鎭褰?/span>
        InitRenderStateObjectSetting( settings );
    
        const NameRef& rzname = DepthStencilState::StaticGetClassInfo()->mClassName;
    
        DepthStencilState a;
     // 榪欓噷灝辨槸灝嗛厤緗枃浠剁殑淇℃伅濉厖鍒扮粨鏋勪綋
        settings.SetMember( rzname, &a, "BackFace.StencilFunc", "Equal" );
     


    ]]>
    LemonComposer 2D娓告垙鍔ㄧ敾寮鍙戝伐鍏?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 05 Feb 2010 06:58:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/107257.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/107257.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/107257.html</trackback:ping><description><![CDATA[<p>Lemon鏄湰浜哄紑鍙戠殑涓濂楅傜敤浜?D娓告垙鍔ㄧ敾鍜岄珮綰ф父鎴忔鏋跺強閰嶅緙栬緫鍣紙LemonComposer錛?/p> <blockquote> <p>Lemon緋葷粺鐗規(guī)э細(xì)</p> <p>1. 鏀寔 Canvas,Sprite,ImageSet錛堝浘鐗囧撫瀛樺偍浜庝竴寮犲浘鐗囷紝絳夊ぇ灝忥級</p> <p>2. ImageSetEx錛堣嚜鐢辨憜鏀劇殑鍥劇墖甯т簬涓寮犲浘鐗囷級*</p> <p>3. 鏀寔瀵硅薄鏃犲叧閿撫鏃朵嬌鐢ㄩ潤鎬佸睘鎬ц繘琛岃緗紝綾諱技浜嶩GE閲岀殑綺劇伒</p> <p>4. 姣忎釜瀵硅薄鍧囧彲鎴愪負(fù)Container錛屽茍鎷ユ湁Child Node</p> <p>5. 鍔ㄧ敾鍏抽敭甯х被鍨嬫敮鎸侊細(xì)緙╂斁錛屾棆杞紝浣嶇Щ錛岄鑹詫紝鍔ㄧ敾甯э紝閿氱偣錛岄煶鏁?</p> <p>6. 鏀寔鎷懼彇</p> <p>7. 鍩轟簬XML瀛樺偍鐨勬枃浠舵牸寮?/p> <p>8. 鍩轟簬<a >Squirrel</a>鏉鵑紶鑴氭湰鐨勯珮閫熼潰鍚戝璞¤剼鏈?</p> <p>9. 鍥懼艦緋葷粺Graphics鎶借薄錛岄傜敤浜庝換浣曟覆鏌撹澶?/p> <p>10. 鎺т歡緋葷粺*</p> <p>11. 瑙嗛鍥炴斁*</p> <p>鎵鏈夊璞″潎鐢盧TTI鍒涘緩錛屾灇涓懼潎鏈塏amePool+Hash錛屽茍鐢變簬PropertySet鐨勫弽灝勭郴緇?/p> <p> </p></blockquote> <blockquote> <p>LemonComposer緙栬緫鍣ㄧ壒鎬?/p> <p>鐣岄潰鍩轟簬鎴戝幓騫村紑鍙戠殑<a href="http://m.shnenglu.com/sunicdavy/archive/2009/07/24/91059.html">MotionUI</a>錛宭ua</p> <p>8+1鎺у埗鐐圭偣瀵硅薄璋冭妭灞炴?/p> <p>綾籄dobe Flash鐨勫撫緙栬緫銆?/p> <p>綾?DS Max鐨勫垎杞ㄩ亾鍏抽敭甯х紪杈戯紝鏈夊姪浜庝紭鍖朼rt assert</p> <p>鑷敱璋冭妭瀵硅薄灞傜駭鍙婄埗瀛愬叧緋?/p> <p>鍏ㄥ姛鑳芥棤闄愬埗鑷敱Redo,Undo</p> <p> </p></blockquote> <p>*灝嗗湪鏈潵鐗堟湰鏀寔</p> <p><a href="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/image_thumb.png" width="483" height="300"></a> </p> <p> </p> <p> </p> <blockquote> <p>2D娓告垙鏄嫭绔嬫父鎴忕殑涓繪祦錛屼篃鏄垱鎰忥紝鎶曞叆姣旀渶灝忕殑涓涓淮搴︺備絾鏄熀浜?D鐨勫ぇ澶氭槸涓浜涚被浼間簬HGE錛孖ndieLib絳夊紑婧愬厤璐?D寮曟搸銆備絾鏄潰瀵規(guī)父鎴忎腑澶ч噺鐨勫姩鐢昏岃█錛屽紑鍙戣呭ぇ澶氭槸浣跨敤鍥劇墖甯ф潵鍒朵綔錛岃櫧鐒舵晥鏋滃緢濂斤紝浣嗘槸璁懼璧勬簮濂界敤鍜屽埗浣滈毦搴︿篃鏄緢闅炬帶鍒剁殑銆?/p></blockquote> <blockquote> <p>嫻佽浜庡幓騫寸殑妞嶇墿瀵瑰兊灝稿拰2004騫村彂琛岀殑<a >RO Offline</a>緇忚繃璧勬簮鍒嗘瀽錛屽氨鏄嬌鐢ㄧ被浼間簬Lemon緋葷粺錛屾垨鑰呰Flash鐨勭郴緇熷埗浣滆屾垚錛屽洜姝ゆ晥鏋滃拰鎵╁睍鎬ч潪甯稿ソ銆?/p> <p>榪欏氨鏄疞emon瀛樺湪鐨勭悊鐢便?/p> <p>Flash闈㈠悜鐨勬槸GDI+Web錛岄偅涔圠emon灝辨槸閽堝娓告垙涓撴湁鐨勶紝鍩轟簬紜歡鍔犻熺殑娓告垙妗嗘灦</p> <p>Flash Action Script 瀵瑰簲鐨勫氨鏄疞emon鐨?a >Squirrel</a>鑴氭湰</p> <p>FlashIDE 瀵瑰簲鐨勫氨鏄疞emon Composer</p> <p>Lemon鐨勭洰鏍囧氨鏄2D娓告垙寮鍙戞洿綆鍗曪紝璁╂父鎴忎腑鍏呮弧鏇村鐨勫姩鐢? 璁╂父鎴忓紑鍙戦毦搴﹂檷浣?/p> <p><a href="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/farming-gold-in-pvz%5B1%5D_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="farming-gold-in-pvz[1]" border="0" alt="farming-gold-in-pvz[1]" src="http://m.shnenglu.com/images/cppblog_com/sunicdavy/WindowsLiveWriter/LemonComposer2D_D2B9/farming-gold-in-pvz%5B1%5D_thumb.jpg" width="244" height="196"></a></p></blockquote><img src ="http://m.shnenglu.com/sunicdavy/aggbug/107257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-02-05 14:58 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/02/05/107257.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瑙e喅Render Target涓殑Alpha閫氶亾緇樺埗闂http://m.shnenglu.com/sunicdavy/archive/2010/01/20/106072.html鎴橀瓊灝忕瓚鎴橀瓊灝忕瓚Wed, 20 Jan 2010 08:56:00 GMThttp://m.shnenglu.com/sunicdavy/archive/2010/01/20/106072.htmlhttp://m.shnenglu.com/sunicdavy/comments/106072.htmlhttp://m.shnenglu.com/sunicdavy/archive/2010/01/20/106072.html#Feedback1http://m.shnenglu.com/sunicdavy/comments/commentRss/106072.htmlhttp://m.shnenglu.com/sunicdavy/services/trackbacks/106072.html鍓嶆鏃墮棿鏇劇粡紕板埌榪嘡T綰圭悊緇樺埗鍑烘潵鏃墮渶瑕侀忔槑鐨勯棶棰樸傚綋鏃朵篃Google浜嗕竴涓嬶紝浣嗘槸寰堝皯鏈変漢鎻愯搗榪囪繖涓棶棰樸傛槰澶╃湅鍓戝瀵掔殑絀洪棿鐨凣alaxy2D寮曟搸涓嬌鐢≧T鐨勯忔槑緇樺埗錛屾枃绔犲湪榪欓噷銆傚彂鐜拌繖涓壒鎬у眳鐒墮渶瑕佹樉鍗℃敮鎸侊紝椹笂鏌ヨ繃DX9SDK鏂囨。錛屽彂鐜拌繖鏍蜂竴綃?a >鏂囩珷錛屽凡緇忓憡璇夋垜浠庝箞鍋氫簡錛?/p>

    Render Target Alpha (Direct3D 9)

    The frame buffer blender can now blend alpha channels independent from color-channel blending on render targets. This control is enabled with a new render state, D3DRS_SEPARATEALPHABLENDENABLE.

    When D3DRS_SEPARATEALPHABLENDENABLE is set to FALSE (which is the default condition), the render-target blending factors and operations applied to alpha are the same as those defined for blending color channels. A driver needs to set the D3DPMISCCAPS_SEPARATEALPHABLEND cap to indicate that it can support render-target alpha blending. Be sure to enable D3DRS_ALPHABLEND to tell the pipeline that alpha blending is needed.

    To control the factors in the alpha channel of the render-target blenders, two new render states are defined as follows:

    D3DRS_SRCBLENDALPHA 
    D3DRS_DESTBLENDALPHA 
    

    Like the D3DRS_SRCBLEND and D3DRS_DESTBLEND, these can be set to one of the values in the D3DBLEND enumeration. The source and destination blend settings can be combined in several ways, depending on the settings in the SrcBlendCaps and DestBlendCaps members of D3DCAPS9.

    The alpha blending is done as follows:

    renderTargetAlpha = (alphain* srcBlendOp) BlendOp (alphart* destBlendOp) 
    

    Where:

    • alphain is the input alpha value.
    • srcBlendOp is one of the blend factors in D3DBLEND.
    • BlendOp is one of the blend factors in D3DBLENDOP.
    • alphart is the render-target alpha value.
    • destBlendOp is one of the blend factors in D3DBLEND.
    • renderTargetAlpha is the final blended alpha value.

     

    緲昏瘧濡備笅錛?/p>

       浣跨敤 D3DRS_SEPARATEALPHABLENDENABLE娓叉煋鐘舵佸彲浠ヨFrame Buffer 娣峰悎鍣ㄥ皢RT涓殑Alpha閫氶亾涓庨鑹查氶亾鍒嗗紑娣峰悎銆?/p>

    褰揇3DRS_SEPARATEALPHABLENDENABLE 璁劇疆涓?FALSE錛堥粯璁わ級錛孯T娓叉煋鍙傛暟鍜屾搷浣滀細(xì)璺熼鑹查氶亾涓鏍瘋搴旂敤鍒癆lpha閫氶亾銆?榪欓」鐗規(guī)ч渶瑕佹樉鍗℃敮鎸丏3DPMISCCAPS_SEPARATEALPHABLEND 鐗規(guī)с傝浣忥紝鍦ㄤ箣鍓嶈緗瓺3DRS_ALPHABLEND浠ヤ究鎵撳紑Alpha娣峰悎銆?/p>

       RT娣峰悎鍣ㄧ殑Alpha閫氶亾娣峰悎鍥犲瓙娓叉煋鐘舵佸涓嬶細(xì)

    D3DRS_SRCBLENDALPHA

    D3DRS_DESTBLENDALPHA

    鍏惰瀹氫箟鍦?a >D3DBLEND鏋氫婦涓紝D3DRS_SRCBLEND 鍜孌3DRS_DESTBLEND涔熸槸榪欐牱瀹氫箟鐨勩傛潵婧愯壊涓庣洰鏍囬鑹插皢浼?xì)鏈夊緢澶毦l勫悎鏂瑰紡錛屼富瑕佷緷璧栦簬D3DCAPS9涓殑SrcBlendCaps 鍜孌estBlendCaps

    Alpha娣峰悎鍏紡濡備笅錛?/p>

    renderTargetAlpha = (alphain* srcBlendOp) BlendOp (alphart* destBlendOp)

    鍏朵腑錛?/p>

        alphain涓鴻緭鍏lpha鍊?/p>

        srcBlendOp鏄疍3DBLEND涓殑涓涓販鍚堝洜瀛?/p>

        BlendOp鏄?D3DBLENDOP涓殑涓涓販鍚堝洜瀛?/p>

        alphart鏄疪T鐨刟lpha鍊?/p>

        destBlendOp鏄疍3DBLEND涓殑涓涓販鍚堝洜瀛?/p>

        renderTargetAlpha鏄渶鍚庢販鍚堝悗鐨刟lpha鍊?/p>

    ]]>
    鍒ゆ柇鐐瑰湪鍑稿洓杈瑰艦涓?/title><link>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html</link><dc:creator>鎴橀瓊灝忕瓚</dc:creator><author>鎴橀瓊灝忕瓚</author><pubDate>Fri, 08 Jan 2010 02:29:00 GMT</pubDate><guid>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html</guid><wfw:comment>http://m.shnenglu.com/sunicdavy/comments/105136.html</wfw:comment><comments>http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.shnenglu.com/sunicdavy/comments/commentRss/105136.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/sunicdavy/services/trackbacks/105136.html</trackback:ping><description><![CDATA[<p>鍓嶅嚑澶╅渶瑕佸仛涓涓紶鏍囩偣鍑誨垽瀹氾紝鍏蜂綋鏄垽鏂竴涓偣鏄惁鍦ㄦ煇涓嚫鍥涜竟褰腑銆?/p> <p>鏈綆鍗曠殑鏂規(guī)硶鑾繃浜庡垽鏂紶鏍囩偣鏄惁鍦?涓笁瑙掑艦涓備絾鏄緢澶氬垽瀹氭柟娉曢兘鏄湁闂鐨勶紝姣斿璇?/p> <p> </p> <p>copy鑷狪ndieLib</p><pre class="csharpcode"><span id="hvzpftn" class="kwrd">bool</span> Triangle2D::Inside2( <span id="hvzpftn" class="kwrd">const</span> Vector2& p ) { Vector2 v0 = mP3 - mP1; Vector2 v1 = mP2 - mP1; Vector2 v2 = p - mP1; <span id="hvzpftn" class="rem">// Compute dot products</span> <span id="hvzpftn" class="kwrd">float</span> dot00 = Vector2::DotProduct( v0, v0 ); <span id="hvzpftn" class="kwrd">float</span> dot01 = Vector2::DotProduct( v0, v1 ); <span id="hvzpftn" class="kwrd">float</span> dot02 = Vector2::DotProduct( v0, v2 ); <span id="hvzpftn" class="kwrd">float</span> dot11 = Vector2::DotProduct( v1, v1 ); <span id="hvzpftn" class="kwrd">float</span> dot12 = Vector2::DotProduct( v1, v2 ); <span id="hvzpftn" class="rem">// Compute barycentric coordinates</span> <span id="hvzpftn" class="kwrd">float</span> invDenom = 1 / (dot00 * dot11 - dot01 * dot01); <span id="hvzpftn" class="kwrd">float</span> u = (dot11 * dot02 - dot01 * dot12) * invDenom; <span id="hvzpftn" class="kwrd">float</span> v = (dot00 * dot12 - dot01 * dot02) * invDenom; <span id="hvzpftn" class="rem">// Check if point is in triangle</span> <span id="hvzpftn" class="kwrd">return</span> (u > 0) && (v > 0) && (u + v < 1); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>Google鍑虹殑鏌愪漢浠g爜 <pre class="csharpcode"><span id="hvzpftn" class="kwrd">float</span> Triangle2D::CrossProduct3(<span id="hvzpftn" class="kwrd">const</span> Vector2& p1,<span id="hvzpftn" class="kwrd">const</span> Vector2& p2, <span id="hvzpftn" class="kwrd">const</span> Vector2& p0 ) { <span id="hvzpftn" class="kwrd">return</span> (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } <span id="hvzpftn" class="kwrd">bool</span> Triangle2D::Inside( <span id="hvzpftn" class="kwrd">const</span> Vector2& p ) { <span id="hvzpftn" class="kwrd">return</span> (CrossProduct3(mP1,p,mP2)*CrossProduct3(mP3,p,mP2)<0) && (CrossProduct3(mP2,p,mP1)*CrossProduct3(mP3,p,mP1)<0) && (CrossProduct3(mP1,p,mP3)*CrossProduct3(mP2,p,mP3)<0); } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>  <p>榪?涓柟娉曢兘鏈夌己闄鳳紝褰撶偣鍦ㄤ笁瑙掑艦杈逛笂鏃訛紝灝辨棤娉曞緱鍑恒傚綋鐢ㄥ湪涓涓鏂瑰艦鍒ゆ柇鏃訛紝姝f柟褰腑蹇冪偣灝卞垽瀹氫負(fù)娌℃湁鍦ㄥ叾鍐呴儴錛屾樉鐒舵槸涓涓敊璇? <p>  <p>涔嬪悗錛屽張Google鍑烘煇鍑犱釜澶т緺鐨勭畻娉曞拰鎬濇兂錛岃冭檻浜嗕笅錛屽垽瀹氱偣涓庡洓杈瑰艦閲嶅績鐐圭殑綰挎鏄惁涓庡洓杈瑰艦4鏉¤竟鐩鎬氦錛岀浉浜ゆ椂錛屽叾鍦ㄥ洓杈瑰艦澶栭儴錛屽弽涔嬩害鐒躲?<pre class="csharpcode"><span id="hvzpftn" class="kwrd">bool</span> Quadrangle::Inside2( <span id="hvzpftn" class="kwrd">const</span> Vector2& p ) { Vector2 c = Segement2D::GetCrossPoint( mP1, mP3, mP2, mP4 ); <span id="hvzpftn" class="kwrd">return</span> !(Segement2D::Intersect( mP1, mP2, c, p) || Segement2D::Intersect( mP2, mP3, c, p) || Segement2D::Intersect( mP3, mP4, c, p) || Segement2D::Intersect( mP4, mP1, c, p) ); } <span id="hvzpftn" class="kwrd">bool</span> Segement2D::Intersect( <span id="hvzpftn" class="kwrd">const</span> Vector2& p1, <span id="hvzpftn" class="kwrd">const</span> Vector2& p2,<span id="hvzpftn" class="kwrd">const</span> Vector2& p3, <span id="hvzpftn" class="kwrd">const</span> Vector2& p4 ) { <span id="hvzpftn" class="kwrd">float</span> gradab, gradcd, ycptab, ycptcd, interceptX, intercepty; <span id="hvzpftn" class="rem">// In order to avoid divisions by zero</span> <span id="hvzpftn" class="rem">//if (mP1.y == mP2.y)</span> <span id="hvzpftn" class="rem">// mP2.y += 0.0001f; </span> <span id="hvzpftn" class="rem">//if (mP1.x == mP2.x)</span> <span id="hvzpftn" class="rem">// mP2.x += 0.0001f; </span> <span id="hvzpftn" class="rem">//if (seg.mP1.y == seg.mP2.y)</span> <span id="hvzpftn" class="rem">// seg.mP2.y += 0.0001f; </span> <span id="hvzpftn" class="rem">//if (seg.mP1.x == seg.mP2.x)</span> <span id="hvzpftn" class="rem">// seg.mP2.x += 0.0001f; </span> <span id="hvzpftn" class="rem">// Calculates the intersection between the two lines</span> gradab = (p1.y - p2.y) / (p1.x - p2.x); gradcd = (p3.y - p4.y) / (p3.x - p4.x); ycptab = p1.y - p1.x * gradab; ycptcd = p3.y - p3.x * gradcd; interceptX = (ycptab - ycptcd) / (gradcd - gradab); intercepty = (ycptab - (gradab * ycptcd) / gradcd) / (1 - gradab / gradcd); <span id="hvzpftn" class="rem">// Checking in the intersection is inside the segment</span> <span id="hvzpftn" class="kwrd">if</span> (!((interceptX >= p1.x && interceptX <= p2.x) || (interceptX >= p2.x && interceptX <= p1.x))) <span id="hvzpftn" class="kwrd">return</span> 0; <span id="hvzpftn" class="kwrd">if</span> (!((intercepty >= p1.y && intercepty <= p2.y) || (intercepty >= p2.y && intercepty <= p1.y))) <span id="hvzpftn" class="kwrd">return</span> 0; <span id="hvzpftn" class="kwrd">if</span> (!((interceptX >= p3.x && interceptX <= p4.x) || (interceptX >= p4.x && interceptX <= p3.x))) <span id="hvzpftn" class="kwrd">return</span> 0; <span id="hvzpftn" class="kwrd">if</span> (!((intercepty >= p3.y && intercepty <= p4.y) || (intercepty >= p4.y && intercepty <= p3.y))) <span id="hvzpftn" class="kwrd">return</span> 0; <span id="hvzpftn" class="kwrd">return</span> 1; } Vector2 Segement2D::GetCrossPoint(<span id="hvzpftn" class="kwrd">const</span> Vector2& p1, <span id="hvzpftn" class="kwrd">const</span> Vector2& p2, <span id="hvzpftn" class="kwrd">const</span> Vector2& q1, <span id="hvzpftn" class="kwrd">const</span> Vector2& q2) { <span id="hvzpftn" class="rem">//蹇呴』鐩鎬氦姹傚嚭鐨勬墠鏄嚎孌電殑浜ょ偣錛屼絾鏄笅闈㈢殑紼嬪簭孌墊槸閫氱敤鐨?</span> <span id="hvzpftn" class="rem">/*鏍規(guī)嵁涓ょ偣寮忓寲涓烘爣鍑嗗紡錛岃繘鑰屾眰綰挎ф柟紼嬬粍*/</span> Vector2 crossPoint; <span id="hvzpftn" class="rem">//姹倄鍧愭爣</span> <span id="hvzpftn" class="kwrd">float</span> tempLeft = (q2.x - q1.x) * (p1.y - p2.y) - (p2.x - p1.x) * (q1.y - q2.y); <span id="hvzpftn" class="kwrd">float</span> tempRight = (p1.y - q1.y) * (p2.x - p1.x) * (q2.x - q1.x) + q1.x * (q2.y - q1.y) * (p2.x - p1.x) - p1.x * (p2.y - p1.y) * (q2.x - q1.x); crossPoint.x = tempRight / tempLeft; <span id="hvzpftn" class="rem">//姹倅鍧愭爣</span> tempLeft = (p1.x - p2.x) * (q2.y - q1.y) - (p2.y - p1.y) * (q1.x - q2.x); tempRight = p2.y * (p1.x - p2.x) * (q2.y - q1.y) + (q2.x- p2.x) * (q2.y - q1.y) * (p1.y - p2.y) - q2.y * (q1.x - q2.x) * (p2.y - p1.y); crossPoint.y = tempRight / tempLeft; <span id="hvzpftn" class="kwrd">return</span> crossPoint; } </pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style> <p>榪欎釜綆楁硶鏁堢巼騫朵笉鏄緢楂橈紝浣嗗浜庤璁″櫒鏉ヨ鏃犳墍璋撲簡錛屽鏋滄湁濂界殑鍑嗙‘綆楁硶錛屽彲浠ヨ璁?/p><img src ="http://m.shnenglu.com/sunicdavy/aggbug/105136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/sunicdavy/" target="_blank">鎴橀瓊灝忕瓚</a> 2010-01-08 10:29 <a href="http://m.shnenglu.com/sunicdavy/archive/2010/01/08/105136.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://huxiu123.com" target="_blank">欧美高清一区</a>| <a href="http://www-tt211.com" target="_blank">亚洲激情综合</a>| <a href="http://china-cvct.com" target="_blank">国产日韩欧美日韩大片</a>| <a href="http://1616mz.com" target="_blank">一区在线免费观看</a>| <a href="http://www-e2222.com" target="_blank">99天天综合性</a>| <a href="http://7357538.com" target="_blank">久久精品2019中文字幕</a>| <a href="http://ccly2.com" target="_blank">亚洲国产欧美一区二区三区久久</a>| <a href="http://nagebbs.com" target="_blank">99精品热视频</a>| <a href="http://xxxbobba.com" target="_blank">久久久久久穴</a>| <a href="http://chenyirong.com" target="_blank">国产精品成人va在线观看</a>| <a href="http://387www.com" target="_blank">一区在线免费</a>| <a href="http://481323.com" target="_blank">亚洲欧美国产视频</a>| <a href="http://428820.com" target="_blank">亚洲电影欧美电影有声小说</a>| <a href="http://www-3844444.com" target="_blank">亚洲综合社区</a>| <a href="http://1235656.com" target="_blank">欧美黑人多人双交</a>| <a href="http://xjj733.com" target="_blank">国产亚洲综合在线</a>| <a href="http://ktokt.com" target="_blank">一本久久a久久精品亚洲</a>| <a href="http://aaa211.com" target="_blank">久久久亚洲午夜电影</a>| <a href="http://cctbdy.com" target="_blank">亚洲精品视频二区</a>| <a href="http://whmingtong.com" target="_blank">久久精品国产精品亚洲综合</a>| <a href="http://507139.com" target="_blank">欧美色视频日本高清在线观看</a>| <a href="http://xianqyd.com" target="_blank">在线观看国产欧美</a>| <a href="http://shalxee.com" target="_blank">亚洲免费在线视频</a>| <a href="http://baidijs.com" target="_blank">亚洲国产另类久久精品</a>| <a href="http://www66617.com" target="_blank">欧美在线三级</a>| <a href="http://www-333304.com" target="_blank">欧美日韩综合视频网址</a>| <a href="http://3333328.com" target="_blank">亚洲国产高清视频</a>| <a href="http://017492.com" target="_blank">欧美在线观看www</a>| <a href="http://www-800778.com" target="_blank">最近中文字幕mv在线一区二区三区四区 </a>| <a href="http://811914.com" target="_blank">亚洲黄色成人</a>| <a href="http://kinghongs.com" target="_blank">久久精品91</a>| <a href="http://coolpaly.com" target="_blank">亚洲精品一级</a>| <a href="http://cswlts.com" target="_blank">欧美久久久久</a>| <a href="http://aass123.com" target="_blank">亚洲欧美激情四射在线日</a>| <a href="http://137177.com" target="_blank">欧美1级日本1级</a>| <a href="http://tingxihuan.com" target="_blank">国内久久婷婷综合</a>| <a href="http://566805.com" target="_blank">午夜在线不卡</a>| <a href="http://tk263.com" target="_blank">亚洲第一网站</a>| <a href="http://4hup23.com" target="_blank">久久久国产精品亚洲一区</a>| <a href="http://caoav8.com" target="_blank">国产精品人人做人人爽</a>| <a href="http://86311ib.com" target="_blank">99亚洲伊人久久精品影院红桃</a>| <a href="http://jzsp87.com" target="_blank">久久米奇亚洲</a>| <a href="http://bgdete.com" target="_blank">亚洲尤物精选</a>| <a href="http://jiujiire.com" target="_blank">国产精品福利在线</a>| <a href="http://xsjgxx.com" target="_blank">日韩视频在线观看</a>| <a href="http://17ang.com" target="_blank">欧美成人精品在线观看</a>| <a href="http://www-72794.com" target="_blank">先锋影院在线亚洲</a>| <a href="http://876769.com" target="_blank">国产精品国产三级国产专播品爱网</a>| <a href="http://cytus2wiki.com" target="_blank">亚洲欧洲精品一区二区三区 </a>| <a href="http://488918.com" target="_blank">欧美国产精品日韩</a>| <a href="http://645955.com" target="_blank">曰韩精品一区二区</a>| <a href="http://zytxkj.com" target="_blank">久久午夜精品一区二区</a>| <a href="http://fjnexpo.com" target="_blank">午夜精品区一区二区三</a>| <a href="http://74va.com" target="_blank">国产精品久久久一区二区</a>| <a href="http://ncyy4.com" target="_blank">宅男在线国产精品</a>| <a href="http://0773ye.com" target="_blank">亚洲精品视频一区</a>| <a href="http://www-37277.com" target="_blank">欧美精品在线免费</a>| <a href="http://18mmcg.com" target="_blank">日韩午夜在线观看视频</a>| <a href="http://8135777.com" target="_blank">欧美激情影音先锋</a>| <a href="http://811914.com" target="_blank">男女精品网站</a>| <a href="http://1355456.com" target="_blank">91久久精品美女</a>| <a href="http://dracotek.com" target="_blank">亚洲高清在线观看一区</a>| <a href="http://989766.com" target="_blank">美日韩精品免费观看视频</a>| <a href="http://www-36900.com" target="_blank">欲香欲色天天天综合和网</a>| <a href="http://gdjuba.com" target="_blank">久久中文久久字幕</a>| <a href="http://mruyan.com" target="_blank">久久九九热免费视频</a>| <a href="http://dehuabz.com" target="_blank">在线观看亚洲视频</a>| <a href="http://shenshijuesheying.com" target="_blank">久久综合伊人77777尤物</a>| <a href="http://www473333.com" target="_blank">久久精品中文字幕一区</a>| <a href="http://cp50088.com" target="_blank">禁久久精品乱码</a>| <a href="http://shruhan.com" target="_blank">久久最新视频</a>| <a href="http://ju5558.com" target="_blank">六十路精品视频</a>| <a href="http://www77vcd.com" target="_blank">亚洲国产婷婷香蕉久久久久久99 </a>| <a href="http://playav111.com" target="_blank">久久aⅴ乱码一区二区三区</a>| <a href="http://www-49386.com" target="_blank">国产美女搞久久</a>| <a href="http://k91cm.com" target="_blank">久久国产天堂福利天堂</a>| <a href="http://sanlans888.com" target="_blank">欧美一级精品大片</a>| <a href="http://0855123.com" target="_blank">国产在线观看精品一区二区三区</a>| <a href="http://322033.com" target="_blank">久久成人精品无人区</a>| <a href="http://123086.com" target="_blank">欧美影院久久久</a>| <a href="http://xiaocao-av.com" target="_blank">黄色亚洲在线</a>| <a href="http://cscjxs.com" target="_blank">欧美电影免费</a>| <a href="http://520637.com" target="_blank">欧美人与性禽动交情品</a>| <a href="http://87ssyy.com" target="_blank">亚洲少妇诱惑</a>| <a href="http://www-4564949.com" target="_blank">亚洲视频一二区</a>| <a href="http://hmm47.com" target="_blank">国产亚洲欧美一区二区</a>| <a href="http://92ebook.com" target="_blank">老司机精品导航</a>| <a href="http://9911444.com" target="_blank">老司机午夜免费精品视频</a>| <a href="http://ssss96.com" target="_blank">亚洲精品国产精品国自产观看</a>| <a href="http://888ppxx.com" target="_blank">亚洲黄色成人网</a>| <a href="http://www8qa.com" target="_blank">欧美三级电影一区</a>| <a href="http://mengmujia.com" target="_blank">亚洲一区二区在线观看视频</a>| <a href="http://667996.com" target="_blank">亚洲综合精品一区二区</a>| <a href="http://www201314.com" target="_blank">国外成人在线视频</a>| <a href="http://917729.com" target="_blank">亚洲国产成人久久综合一区</a>| <a href="http://118626cc.com" target="_blank">欧美日韩网站</a>| <a href="http://baigoso.com" target="_blank">久久av红桃一区二区小说</a>| <a href="http://080973.com" target="_blank">久久久精品tv</a>| <a href="http://3644688.com" target="_blank">亚洲精品日产精品乱码不卡</a>| <a href="http://tuokuba520.com" target="_blank">一本一道久久综合狠狠老精东影业 </a>| <a href="http://www-34909.com" target="_blank">亚洲欧美日韩国产综合在线</a>| <a href="http://er65.com" target="_blank">午夜精品久久久久久久久久久久久</a>| <a href="http://avtb2120.com" target="_blank">国产一区二区三区网站</a>| <a href="http://8135777.com" target="_blank">欧美国产三级</a>| <a href="http://wwwavtb1122.com" target="_blank">欧美色区777第一页</a>| <a href="http://551731.com" target="_blank">久久国产夜色精品鲁鲁99</a>| <a href="http://yahuake.com" target="_blank">久久综合中文字幕</a>| <a href="http://submro.com" target="_blank">亚洲视频1区2区</a>| <a href="http://gzpurefaith.com" target="_blank">午夜视频在线观看一区二区</a>| <a href="http://smdzs.com" target="_blank">亚洲二区三区四区</a>| <a href="http://118936.com" target="_blank">99re6热只有精品免费观看 </a>| <a href="http://nmbgbc.com" target="_blank">一本色道久久综合</a>| <a href="http://9511331.com" target="_blank">亚洲欧美日韩电影</a>| <a href="http://qmynong.com" target="_blank">亚洲激情影院</a>| <a href="http://www-90422.com" target="_blank">亚洲无线一线二线三线区别av</a>| <a href="http://058888e.com" target="_blank">狠狠色狠色综合曰曰</a>| <a href="http://www0505nn.com" target="_blank">最新中文字幕亚洲</a>| <a href="http://327099.com" target="_blank">国产亚洲一本大道中文在线</a>| <a href="http://67idid.com" target="_blank">亚洲电影免费观看高清</a>| <a href="http://kanzhelu31.com" target="_blank">国产精品久久久久久户外露出</a>| <a href="http://021-job.com" target="_blank">久久一区二区三区av</a>| <a href="http://qvod777.com" target="_blank">欧美精品系列</a>| <a href="http://wwwbbb888999.com" target="_blank">好男人免费精品视频</a>| <a href="http://ww9494.com" target="_blank">亚洲国产三级网</a>| <a href="http://yxtczx.com" target="_blank">国产精品视频男人的天堂</a>| <a href="http://yy306.com" target="_blank">欧美本精品男人aⅴ天堂</a>| <a href="http://yyypdq.com" target="_blank">国产精品成人一区二区</a>| <a href="http://shnenglu.com" target="_blank">免费在线亚洲欧美</a>| <a href="http://www-577511.com" target="_blank">欧美午夜精品</a>| <a href="http://hbsmhy.com" target="_blank">另类av导航</a>| <a href="http://287677.com" target="_blank">国产精品不卡在线</a>| <a href="http://www-3121.com" target="_blank">欧美成人精品三级在线观看</a>| <a href="http://613609.com" target="_blank">国产精品久久久久久av福利软件</a>| <a href="http://xiehaihua.com" target="_blank">免费视频一区</a>| <a href="http://4449992.com" target="_blank">国产精品午夜久久</a>| <a href="http://ssis378.com" target="_blank">亚洲欧洲精品一区二区三区</a>| <a href="http://862323.com" target="_blank">国产午夜一区二区三区</a>| <a href="http://shruhan.com" target="_blank">亚洲精品日韩激情在线电影</a>| <a href="http://dd8uau0ncu.com" target="_blank">国内在线观看一区二区三区</a>| <a href="http://yeepey.com" target="_blank">一本色道久久综合亚洲二区三区</a>| <a href="http://pfpf662.com" target="_blank">亚洲电影在线看</a>| <a href="http://chongpiapia.com" target="_blank">亚洲欧美日韩精品久久奇米色影视 </a>| <a href="http://mom8888.com" target="_blank">久久久久欧美</a>| <a href="http://www23sds.com" target="_blank">欧美日韩一区二区三区在线观看免 </a>| <a href="http://liuyangzi.com" target="_blank">在线视频日韩精品</a>| <a href="http://fjnexpo.com" target="_blank">久久久精品tv</a>| <a href="http://22400com.com" target="_blank">校园激情久久</a>| <a href="http://by8556.com" target="_blank">欧美精品尤物在线</a>| <a href="http://www39pao.com" target="_blank">麻豆freexxxx性91精品</a>| <a href="http://133868.com" target="_blank">欧美性猛交xxxx乱大交蜜桃</a>| <a href="http://ycgg008.com" target="_blank">欧美aa在线视频</a>| <a href="http://173168.com" target="_blank">国产拍揄自揄精品视频麻豆</a>| <a href="http://mascorcg.com" target="_blank">亚洲精品免费在线播放</a>| <a href="http://036762.com" target="_blank">影音先锋亚洲精品</a>| <a href="http://wzlingfeng.com" target="_blank">亚洲欧美一区二区三区久久 </a>| <a href="http://jkllkg.com" target="_blank">久久精品国产亚洲精品</a>| <a href="http://17vx.com" target="_blank">亚洲一区在线观看免费观看电影高清 </a>| <a href="http://wwzz3.com" target="_blank">在线观看亚洲专区</a>| <a href="http://wwzz3.com" target="_blank">亚洲欧美视频</a>| <a href="http://xajtyd.com" target="_blank">亚洲一区二区三区免费观看 </a>| <a href="http://devwang.com" target="_blank">99国产精品久久久</a>| <a href="http://pron12.com" target="_blank">亚洲国语精品自产拍在线观看</a>| <a href="http://hbstjsgc.com" target="_blank">欧美一区午夜视频在线观看</a>| <a href="http://www35177.com" target="_blank">亚洲女与黑人做爰</a>| <a href="http://820002.com" target="_blank">欧美日韩国产专区</a>| <a href="http://alio-ai.com" target="_blank">亚洲国产精品成人一区二区</a>| <a href="http://44ie.com" target="_blank">欲香欲色天天天综合和网</a>| <a href="http://337791.com" target="_blank">校园春色综合网</a>| <a href="http://epiegame.com" target="_blank">性做久久久久久久久</a>| <a href="http://lyminghang.com" target="_blank">欧美偷拍一区二区</a>| <a href="http://shllswkj.com" target="_blank">亚洲日本久久</a>| <a href="http://hhsj31.com" target="_blank">亚洲伦理网站</a>| <a href="http://www-xj788.com" target="_blank">老司机一区二区三区</a>| <a href="http://mimi78.com" target="_blank">狼狼综合久久久久综合网 </a>| <a href="http://qmynong.com" target="_blank">亚洲欧美日韩电影</a>| <a href="http://193youwu.com" target="_blank">欧美日韩亚洲一区二区三区四区</a>| <a href="http://mom8888.com" target="_blank">亚洲国产成人porn</a>| <a href="http://wansilv.com" target="_blank">亚洲人成网站在线播</a>| <a href="http://621939.com" target="_blank">美女久久一区</a>| <a href="http://www909059.com" target="_blank">欧美xart系列高清</a>| <a href="http://099553.com" target="_blank">亚洲福利视频专区</a>| <a href="http://lymzdd.com" target="_blank">久久综合色88</a>| <a href="http://www-4997.com" target="_blank">欧美大片专区</a>| <a href="http://by4433.com" target="_blank">91久久视频</a>| <a href="http://www-369111.com" target="_blank">欧美成人精品h版在线观看</a>| <a href="http://whmingtong.com" target="_blank">看欧美日韩国产</a>| <a href="http://jizz16.com" target="_blank">伊人成人在线</a>| <a href="http://6h8c.com" target="_blank">久久综合久久综合九色</a>| <a href="http://dgxinshidai.com" target="_blank">免费日韩av</a>| <a href="http://ykk7.com" target="_blank">亚洲国产精品99久久久久久久久</a>| <a href="http://44779c.com" target="_blank">久久久久久伊人</a>| <a href="http://372469.com" target="_blank">欧美成人精品高清在线播放</a>| <a href="http://bnb-gndc.com" target="_blank">有码中文亚洲精品</a>| <a href="http://99cheats.com" target="_blank">久久人人爽人人爽</a>| <a href="http://580078.com" target="_blank">欧美成人一品</a>| <a href="http://8410555.com" target="_blank">亚洲精品乱码久久久久久蜜桃91</a>| <a href="http://ztqsfw.com" target="_blank">欧美激情亚洲精品</a>| <a href="http://911mmm.com" target="_blank">99国产精品视频免费观看</a>| <a href="http://zhxjl.com" target="_blank">亚洲一区中文</a>| <a href="http://123yongjiu.com" target="_blank">国产精品免费网站</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>