æè¿ãå人ãšç§ã¯ãAndroidã®ã¢ãããŒãã§ã Windows Phoneãã©ãããã©ãŒã çšã®ã²ãŒã Scratch Maniaãå ¬éããŸããã ããã§ã¯ãKinectã«é¢ããæåŸã®åºçç©ãã姿ãæ¶ããå Žæãšããšã³ã¿ãŒãã©ã€ãºéçºè ãã²ãŒã ãæžãã®ã¯ã©ã®ãããªãã®ãã«ã€ããŠã話ããŸãã
ã²ãŒã ã«ã€ããŠ
ã¹ã¯ã©ããããã¢ã§ã¯ããã¬ã€ã€ãŒã¯ä¿è·å±€ã«ãã£ãŠé ãããçµµãæšæž¬ããããã«æ±ããããŸãã ä¿è·å±€ã¯ãç»é¢ã«è§Šããã ãã§æ¶å»ãããŸãã ããã«ããã¬ãŒã€ãŒã¯ä¿è·å±€ã®äžéšã®ã¿ãæ¶å»ã§ããŸããããã«ãããé¢å¿ãé«ãŸããåæã«è€éããå¢ããŸãã åçã¯ãã¹ããŒããè»ã俳åªãéœåžãªã©ã®ããŒãããšã«ã¢ã«ãã ã«ãŸãšããããŸãã æšæž¬ãããåçããšã«ããã¬ãŒã€ãŒã¯ã²ãŒã å
ã®ã³ã€ã³ãåãåããŸããããã¯æ°ããã¢ã«ãã ãšäº€æã§ããŸãã
ç§ãã¡ã¯ãã®ã²ãŒã ãé±æ«ã®ããã«ãœã³ã®ããŒããšããŠèããŸããïŒèª°ããšäžç·ã«ãªã£ãŠããã¬ãŒã ã¯ãŒã¯ãäœæããŸã-å®çšçãªãããã¿ã€ããäœæãã1ã2ãæã§å ¬éã«é©ããç¶æ ã«ããŸãã ãããŠå®éã«çŽ æŽããã幎ãéãããŸããã 1幎以äžãã«ãŒã«ïŒ å ¬å¹³ãæããŠãç§ã¯ä»äºã¯éåžžå€æ¹ãæãªãšãã«è¡ãããããšã«æ³šæããŸãã ä»ãããéèŠãªæè¡ç解決çãæ€èšãããšãã§ãã
7å枬å®ãã
ç§ãã²ãŒã ã«ã€ããŠè©±ã人ã ããæã人æ°ã®ãã質åã®è©äŸ¡ãè¡ãå Žåããã®è³ªåãæåã«æ¥ãŸãïŒããããWindows PhoneïŒ çå£ã«??ãâç®èãªãµã€ã³ã§ããå¿ èŠãããŸããã ããã§ããCïŒãç¥ã£ãŠããããããã®ãã©ãããã©ãŒã ãéžæããŸããã ãŸããJavaãCãã掟çããèšèªã§ãããããAndroidããŒãžã§ã³ãããŒãžã§ã³åããããšã«ããŸãããçŸæç¹ã§ã¯ãæºæºåç¶æ ã«ãªã£ãŠããŸãã ãã®çµæããã¹ã¿ã€ãªãã·ã¥ã§ãã¡ãã·ã§ããã«ãªè¥è ãXamarinã䜿çšãããããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãäœæãããã決å®ããããšã«ãªããŸããã æ²ããããªãXamarinã¯è² ããŸããã äž»ã«ååãšãªã³ã©ã€ã³ã³ãã¥ããã£ããã®æ··åã¬ãã¥ãŒãåå ã§ãã ãã¬ãŒã ã¯ãŒã¯ãšã®æŠãã«å€ãã®æéãè²»ãããããããŸããã§ããã ããã«å ããŠãäŸ¡æ Œã¯ççã§ãã-åã ã®éçºè ã«å¯ŸããŠæé¡çŽ20ãã«ã
Javaãš.NETã ãã競äºçžæã§ã¯ãªããjavascriptãªã©ã®ãšããŸããã¯ãªãªãã·ã§ã³ãæ€èšãããŸããã ãããã圌ã¯é ãããŸãã ãšããã§ãåŸã§ã²ãŒã ã®ãµã€ãã«ãããã¿ã€ãã䜿çšããŸããããè¯ãã¯å€±ãããŸããã
Windows PhoneãšAndroidã®ããŒãžã§ã³ã«ã€ããŠã¯ãç°¡åã«ããããã«ãããããWP 8以éãšAndroid API 11以éã§åæ¢ããããšã«ããŸããã ããã§ã¯äž»ã«Windows Phoneã«ã€ããŠèª¬æããŸãããªããªãã Androidã«ã€ããŠè©±ãã®ã¯ææå°æ©ã§ãã
åšå¢ã®ãããã©ãã«éå§
æåã«èšç»ããããã«ã2æ¥éã®äŒã¿ã®ä»£ããã«ããããã¿ã€ãã«çŽ2é±éè²»ãããŸããã JavaScriptã§éå§ã ã¢ã€ãã¢ã¯åçŽã§ãããã£ã³ãã¹ãããŒãžã«è¿œå ãããã®äžã«çµµãæããŸãã DOMã«è¿œå ããã«ãå¥ã®ãã£ã³ãã¹ãäœæããŸãã ãã£ã³ãã¹ã®ãµã€ãºã¯åãã§ããããã®äžã«å¥ã®çµµãæããŸãã OnMouseMoveã€ãã³ããã³ãã©ãŒã§ãNÃNãã¯ã»ã«ã®é åããããã£ã³ãã¹ããå¥ã®ãã£ã³ãã¹ã«ã³ããŒããŸãã 次ã®ããã«ãªããŸãïŒ
ããããããã§èª°ãé©ããªãã§ãããããã®ãããWindows Formsã§æ¬¡ã®ãããã¿ã€ããäœæããŸãããæ¶å»ã¢ã«ãŽãªãºã èªäœã¯ãç»åãšãã£ã¿ãŒã®ãšã¢ãã©ã·ããŒã«ãšã®é¡æšã«ãã£ãŠäœæãããŸããã ãã®ãããã¿ã€ãã§ã¯ã2ã€ã®ç»åãäºãã«éãåããããäžéšã®ã¿ãããŸãŒã³ã§ã¢ã«ãã¡ãã£ãã«å€ãå€æŽãããŸããã javascriptã®ç¬¬äžäººè ã¯ãã®ãããªãã®ãæžãããšãã§ãããšç¢ºä¿¡ããŠããŸãããããã¯ç§ãã¡ã®éã§ã¯èŠã€ãããŸããã§ããã
ãããã¿ã€ãã®ã³ãŒãã¯ã»ãšãã©å€æŽãããã«ã¹ããŒããã©ã³ã«è»¢éãããŸããã Windows PhoneãšAndroidã®ã³ã³ããŒãã³ãã¯ã¢ã«ãã¡ãã£ãã«ã§ç°ãªãåäœãããããšãå€æããŸããã Windows Phoneã§ã¯ããã£ãã«ã¯äºåä¹ç®ãããŸãããAndroidã§ã¯ããã§ã¯ãããŸããã ããã¯ãAndroidã§ã¯ã¢ã«ãã¡ãã£ãã«å€ããã¯ã»ã«ã®è²æåïŒRGBïŒã«åœ±é¿ãäžããªãã®ã«å¯ŸããWindows Phoneã§ã¯åŒã«åŸã£ãŠå€åããããšãæå³ããŸãã
A = alpha R = red à alpha / 255 G = green à alpha / 255 B = blue à alpha / 255
ãã®å Žåããã¯ã»ã«å€ãèšç®ããæäœã¯å®éã«ã¯ãã¯ã»ã«ã³ã³ããŒãã³ããå ç®ããããšã«ãªãããããã®åœ¢åŒã§è¡šç€ºãããç»åã¯ç°¡åã«éãªããŸããããšãã°ãRresãR1 + R2ã§ãã 詳现ã¯ãCharles PetzoldïŒ amazon ïŒã®èæžProgramming WindowsïŒç¬¬6çïŒã«ãããŸãã
ãããããã©ãã«ãäžäººã§æ¥ãããã§ã¯ãããŸããã Touch.FrameReportedã€ãã³ãïŒAndroidã®onTouchEventïŒã¯ãäž¡æ¹ã®ãã©ãããã©ãŒã ã§éåžžã«é ãã§ãã ããšãã°ããã³ãã©ãŒã®ã¿ãããã€ã³ãã§ã¢ã«ãã¡ãã£ãã«ã®æ°ããå€ãèšç®ããããã«ãã®ã€ãã³ãããµãã¹ã¯ã©ã€ããããšãFPSã¯çŽ20ã«ãªããŸããããã¯éåžžã«å°ããããã§ãã é 延ã¯èçŒã§èŠããããã«ãªããŸãã Androidã§ã¯ã圌ãã¯ããã延æãããªãªãŒã¹ã®è¿ãã§ä¿®æ£ããããšã«ããŸããã Windows Phoneã§ã¯ãçŽ25ããªç§ã«1åç»é¢ãããŒãªã³ã°ããã¿ãããã€ã³ãïŒéåžžã¯è€æ°ãããŸãïŒïŒããå ŽåïŒãåä¿¡ããã¢ã«ãã¡ãã£ãã«ã®å€ãèšç®ããããã¯ã°ã©ãŠã³ãã¹ã¬ããã䜿çšããŠåé¡ã解決ããŸããã ããã«ãããFPSã¬ãã«ã30ã40ã«ä¿ã€ããšãã§ããŸãã
ããã«ãWindows Phoneã§ã¯ãç»åã®äžéšãç¡å¹åãããŠããªãããšãèŠããŠããå¿ èŠããããŸããå€æŽåŸã¯ãç»åå šäœãæŽæ°ããå¿ èŠããããŸãã ãŸããã¿ããåŠçã«è¿œå ã®å¶éã課ããããŸããäžåºŠã«åŠçããããã€ã³ããå€ãã»ã©è¯ãã§ãã äžæ¹ãããŸãå€ãã®ãã€ã³ããåŠçããããšã¯ã§ããŸããã ãžã£ãŒã¯ãç®ç«ã¡ãŸãã
å®ç§ãã«å¶éã¯ãããŸãã
çŸããæ¶å»ã¯æåã®ããã©ãŒæ©èœãã§ããã2çªç®ã¯åçã¢ã«ãã ã§ãã ãã®ãããªéèŠãªã³ãŒãã«ã¯å¯Ÿå¿ããæ 床ãå¿ èŠã§ããããšãèªèããŠã圌ãã¯èšèšãçå£ã«åãæ¢ããŸããã ã·ã¹ãã ã¯éå±€åãããŸãã-åã ã®ã¢ã«ãã ã®äœã¬ãã«ã®ããŒãµãŒãããã€ã³ã¹ããŒã«ãããã¢ã«ãã ãããŠã³ããŒãå¯èœãªã¢ã«ãã ã®é«ã¬ãã«ã®ãããŒãžã£ãŒãŸã§ã
ã¢ã«ãã ã«ã€ããŠ
ã²ãŒã ã§ã¯ãåçä»ãã®3ã€ã®ã¢ã«ãã ãæåã«ããªã€ã³ã¹ããŒã«ãããæ®ãã®ã¢ã«ãã ã¯ãµãŒããŒã«ä¿åãããŸãã ããã«ããããã¬ãŒã€ãŒã¯èå³ã®ããã¢ã«ãã ã決å®ããŠã¢ããããŒãã§ããŸãããŸããæ°ããã¢ã«ãã ã®é
åžããã»ã¹ãç°¡çŽ åã§ããŸãããã¬ãŒã€ãŒã«ã¯ãã¢ã«ãã ãªã¹ãã§ãæ°èŠããšããŒã¯ãããã¢ã«ãã ã衚瀺ãããŸãã
ããã§ç§ãã¡ã¯ãè³ã®ãšã³ã¿ãŒãã©ã€ãºããšããŠèª¬æã§ãã倱æ ãäžããŸããã ã¯ã©ã¹å³ãèŠãŠãã ããã
äžèŠããã¹ãŠãããã»ã©æãããã§ã¯ãããŸãããããã€ã¢ã°ã©ã äžã§ç°¡ç¥åãããŠããŸãïŒäžéšã®ã¿ã€ãã瀺ãããŠããªãããã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ã®ã³ãŒãã³ã³ãã©ã¯ãããã«ããŒã¯ã©ã¹ãªã© ãã®ãã¡ããªã¯æ°åãªãã¡ã¯ã¿ãªã³ã°ããã察å¿ããæçµçã«ã¯ãã»ãŒãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ãšãã¡ã¯ããªãåé€ãããŸããã
ééãããåŠã¶
çæ³çãªã¢ãŒããã¯ãã£ãäœæããè©Šã¿ã¯ãå€å žçãªæç§æžã§ãããç§ãã¡ã«ãšã£ãŠã¯æçã§ã¯ãããŸããã æ£ããçµè«ãæééãã«ãªãããŠããã°ãã²ãŒã ã¯6ãæåã«æºåãã§ããŠããã§ãããã
ãããã4ãæã§ãªããšãã§ããããšã§ãã ãã¬ãŒã ã®æºåãå®äºããŸãããã€ã³ã¹ããŒã«æžã¿ã®ã¢ã«ãã ãåãæ¿ãããã2ã€ã®ã¢ãŒãã§åçãæšæž¬ïŒææ¡ããããªãã·ã§ã³ããã¹ãã«ãšéžæïŒããããæ¢ã«æšæž¬ããåçã衚瀺ãããã§ããŸããã ãããããŸã ãŸã ãããŸãããUIã®æç»ãã¹ã³ã¢ãªã³ã°ã®å®è£ ãã¢ã«ãã ã®ã¢ããããŒãããœãŒã·ã£ã«ãããã¯ãŒã¯ãšã®çµ±å-ãåéã«æããããGoogleã¢ããªãã£ã¯ã¹ã®è¿œå ãã²ãŒã å ã§ã®è³Œå ¥ã
ãéãããã®ãã¹ãŠ
ã²ãŒã ã®ãµãŒããŒéšåãMicrosoft Azureã«ãããã€ããŸããã å ã®åçãšå®æããã¢ã«ãã ã¯Blob Storageã«ä¿åãããŸãã èå¥åãç©ççãªå ŽæïŒBlobå ïŒãã²ãŒã å ã®ã¢ã¯ã»ã·ããªãã£ãªã©ãã¢ã«ãã ã®ã¡ã¿ããŒã¿ãä¿åãããã Azure SQLã§äœ¿çšãããŸãã ãããã®ã³ã³ããŒãã³ãã®äœ¿çšã¯ãRESTfulãµãŒãã¹ã«ãã£ãŠé ãããŠããŸãã ãããã¡ã€ã³ã¹ããªãŒã ã§ãããããç§ãã¡ã¯ã€ããŠããããšã«ããŸããã
å®éãç§ãã¡ã®ãµãŒãã¹ã¯3ã€ã®æ¹æ³ã®ã»ããã§ãïŒã¢ã«ãã ã®ãªã¹ããååŸãããã¢ã«ãã ã«é¢ãã詳现æ å ±ãååŸãããã¢ã«ãã ãããŠã³ããŒãããã
ã¢ã«ãã ãããŠã³ããŒãããããã«ããµãŒãã¹ã¯æå¹æéãå¶éããããªã³ã¯ãçæããŸãã Azureã¯ãæ¢æã®ã¡ã«ããºã -å ±æã¢ã¯ã»ã¹çœ²åãæäŸããŸãã ãã®æé ã®æ¬è³ªã¯æ¬¡ã®ãšããã§ããæå¹æéã¯URLã«çž«ãä»ãããããã®åŸãURLã¯ç§å¯éµã§çœ²åãããŸãã ããã«ãããURLãžã®å€æŽããªããªããŸãã æ¥ä»ãæå®ããå¿ èŠã¯ãããŸãããã³ã³ããã®ã¢ã¯ã»ã¹ããªã·ãŒãäœæããURLã§ãã®ããªã·ãŒãåç §ããã ãã§ãã ãã ããçåœãªã³ã¯ã®å Žåããã®ãªãã·ã§ã³ã¯ããŸã䟿å©ã§ã¯ãããŸããïŒæ°ããæéããšã«æ°ããããªã·ãŒãäœæããå¿ èŠããããŸãïŒã
æã§äŒããŸããã
人çã®éé ·ãªçå®ã¯ããã¬ã€ã€ãŒã¯ã²ãŒã å ã«é ãããŠãããã®ããæ°åãåãã§è²»ããããã«è²»ããããå·¥æ°ãæ°ã«ããªããšããããšã§ãã ãããã£ãŠã䟿å©ã§çŽæçãªã€ã³ã¿ãŒãã§ã€ã¹ãæ§ç¯ããããšãéèŠã§ãã ç§ãã¡ã¯ãã¹ãŠãèªåã§æãããšãè©Šã¿ãããšã«ããŸããã ãããããããã®ã¢ãŒãã£ã¹ããæ¢ã䟡å€ã¯ãããŸãããã圌ã®äœåã®è²»çšã¯èªç±ãªæéã§å ±ãããã§ãããã
ã¹ã±ããããã®ã«çŽ1ãæããããŸããã Expression Designããšãã£ã¿ãŒãšããŠéžæãããçç±ã¯ãaïŒæã£ãŠãããbïŒäœ¿ãããããcïŒãã¡ã€ã«ãXAMLãŸãã¯PNGã«ç°¡åã«ãšã¯ã¹ããŒããããããã§ãã ãããã£ãŠãã²ãŒã ã«å€æŽãå ããããšãªããã»ãŒãã¹ãŠã®ã¹ã¿ã€ã«ãšã¢ã€ã³ã³ã転éããããšãå€æããŸããã
PNGãžã®ãã¶ã€ã³
å€æ°ã®Expression Designãã¡ã€ã«ãPNGãŸãã¯JPEGã«ãšã¯ã¹ããŒãããå¿
èŠãããå Žåãèªååããã«ããã»ã¹ãéå±ã«ãªãå¯èœæ§ããããŸãã Expression Design APIã䜿çšããŠå°ããªã³ã³ããŒã¿ãŒãäœæããŸããïŒããã¯ã1ã€ã®äžè¬ç㪠"ãªãã¬ã¯ã¿ãŒ"ã䜿çšããŠã¢ã»ã³ããªã調ã¹ãŠååŸãããææžåãããŠããªãAPIã§ãïŒã
2ã€ã®ã¢ã»ã³ããªãå¿ èŠã§ãã
ïŒ ProgramFilesïŒ \ Microsoft Expression \ Design 4 \ GraphicsCore.dll
ïŒ ProgramFilesïŒ \ Microsoft Expression \ Design 4 \ Microsoft.Expression.Design.dll
ãããŠãã®ãããªã³ãŒãïŒ
2ã€ã®ã¢ã»ã³ããªãå¿ èŠã§ãã
ïŒ ProgramFilesïŒ \ Microsoft Expression \ Design 4 \ GraphicsCore.dll
ïŒ ProgramFilesïŒ \ Microsoft Expression \ Design 4 \ Microsoft.Expression.Design.dll
ãããŠãã®ãããªã³ãŒãïŒ
const string from = @"..."; // *.design const string to = @"..."; // *.png Module.Instance.Initialize(); var doc = Module.Instance.OpenDocument(from, false, null); ExportImageInfoHandler exportHandler = doc.ExportImage(to, (Enum)ImageFormat.Png); exportHandler.Info.Resolution = 96.0; exportHandler.Info.DocumentUnits = UnitType.Pixel; exportHandler.Info.ConstrainProperties = false; exportHandler.Execute();
å šäœçãªç¥èŠã«åœ±é¿ãäžããã²ãŒã ã®ãã1ã€ã®éèŠãªèŠçŽ ã¯ããã¬ã€ã€ãŒãæšæž¬ããåçã§ãã ç§ãã¡ã¯ãç¡æã®ã©ã€ã»ã³ã¹ãšåæ§ã«ãé¢çœããŠé«å質ãéžæããããšããŸããã åã¢ã«ãã ã«ã¯çŽ20ã30æã®åçããããŸãã 圌ãã®äººçãç°¡çŽ åããããã«ã圌ãã¯åçãåããµã€ãºã§ããã¹ãã§ãããšæ±ºããŸããã ãã®ä»®å®ã®å¯äœçšã¯ãã¢ã«ãã ãäœæããéã®è¿œå ã®åªåã§ãããåç»åã®ãµã€ãºã調æŽããå¿ èŠããããŸãã ããããä»æ¥äœ¿çšããããšã決å®ãã解å床ãææ¥å€æŽãããå Žåã¯ã©ããªããŸããïŒ
ãã¹ãŠã®åçãåç·šéããå¿ èŠãããããšãããããŸããã ããã§ãã¢ã«ãã ãã¶ã€ããŒãäœæãããšããã¢ã€ãã¢ãæãã€ããŸããã ãã®çµæãå®å šãªç®¡çã·ã¹ãã ãå®æããŸããã ãã¶ã€ããŒã¯ãããŸããŸãªèšèªã®ã¢ã«ãã ã®äœæãšç·šéïŒçŸåšãè±èªãšãã·ã¢èªã®2ã€ã®èšèªã§å©çšå¯èœïŒã ãã§ãªããããããå ¬éããããšãã§ããŸãã ã²ãŒã ã§å©çšå¯èœã«ããŸãã
äœãããã®ã
ã²ãŒã ã®åºåã«çŽ3,500ã«ãŒãã«ãè²»ãããŸããã ããã«ã¯ãVKontakteãBingãããã³Windowsã¹ãã¢ã®åºåãå«ãŸããŸãã å®è·µã瀺ããŠããããã«ãRedditã§ã®åºåã¯å¬ã«éªãè²·ããããªãã®ã§ãã$ 20-0ãŠãããã
ãããããã¥ãŒã¹ã¯ãœãŒã·ã£ã«ãããã¯ãŒã¯äžã®ã¢ãã€ã«ã²ãŒã å°çšã®ã°ã«ãŒãã§å ¬éãããŠããŸãã æãç°¡åãªæ¹æ³ã¯ãã²ãŒã ãWindows Phoneãªã©ã«ç¹åããã°ã«ãŒããèŠã€ããããšã§ãã åºåãå ¬éãããªã¯ãšã¹ãã管çè ã«é£çµ¡ããŠãã ããã çŸåšããã®æ¹åã§äœæ¥ãç¶ããŠãããäž»ã«ã²ãŒã ã®ã¬ãã¥ãŒãå ¬éããæºåãã§ããŠãã人ã ã®é£çµ¡å ãæ¢ããŠããŸãã ãããŸã§ã®ãšããã1800 Pocket / PCã®äººã ããäŒè°ã«åå ããŠã¬ãã¥ãŒãå ¬éããŠããŸãã
ãªãªãŒã¹ã«ããAndroidã®ããŒãžã§ã³ã¯ããŸãç©æ¥µçã«éçºãããŠããŸããã ãããè¿ãå°æ¥ã®ç®æšã§ãã iOSçšã®ããŒãžã§ã³ã¯ãããŸããïŒ ãŸã æ確ã§ã¯ãªããWindows PhoneãšAndroidã®ã²ãŒã ã®æåã«å€§ããäŸåããŠããŸãã
PSã§ã¯ããšã³ã¿ãŒãã©ã€ãºéçºè ã¯äœã®ããã«ã²ãŒã ãæžããŠããŸããïŒ æçã§ãã è€éãªé«è² è·ã·ã¹ãã ãèšèšããããããžãã¹ããã»ã¹ãèªååããããç¬èªã®ãªã³ã©ã€ã³ã¹ãã¢ãæžããã¯åé¡ã§ã¯ãããŸãããã·ã³ãã«ã«ä¿ã¡ãŸãã ããã ãã§ã Trite ... :)