ã²ãŒã ããžãã¯
å¥ã®GameControllerã¯ã©ã¹ã§ãã¹ãŠã®ã²ãŒã ããžãã¯ãåãåºããŸãã ã²ãŒã ã¯ã©ã¹ã®Updateé¢æ°ã¯æ¬¡ã®ãšããã§ãã
protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); GameController.Update(gameTime); base.Update(gameTime); }
GameTimeã¯ã©ã¹ãªããžã§ã¯ããGameController.Updateã«æž¡ããŠããããšã«æ³šæããŠãã ããã ããã«ã¯ElapsedGameTimeããããã£ããããUpdateé¢æ°ã®ååã®åŒã³åºãããçµéããæéã瀺ããŸãã ååãšããŠããã®æéã¯åºå®ãããŠãããé»è©±ã¯33ããªç§ã«çžåœããŸããããããåœãŠã«ããã®ã§ã¯ãªããéä¿¡ãããå€ããã¹ãŠã®èšç®ã§äœ¿çšããããšããå§ãããŸãã
ã²ãŒã äžçã®ãªããžã§ã¯ãã®åããèšç®ããå¿ èŠãããå Žåã¯ãã€ã§ããElapsedGameTimeã䜿çšããŸãã ããšãã°ãïŒé»è©±ã®åŸãã®åœ±é¿äžã§ïŒçœãããŒã«ã®æ°ããäœçœ®ãèšç®ããå¿ èŠãããå Žåãã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
position += (float)(acceleration * gameTime.ElapsedGameTime.TotalSeconds);
ããŒã«ãšããããã®ååŸïŒåºçŸæïŒã¯ã次ã®ããã«èšç®ãããŸãã
radius += (float)(GrowSpeed * gameTime.ElapsedGameTime.TotalSeconds);
åœç¶ããããã®èšç®ã¯ãã¹ãŠå¥ã ã®ã¯ã©ã¹ã§è¡ããŸã-ããããã«åæ§ã®é¢æ°UpdateïŒgameTimeïŒããããŸãã ãããŠãGameController.Updateã¯ããããåŒã³åºãã ãã§ãã
ã°ã©ãã£ãã¯ã¹ãæã
ãŸããå³é¢ãGameControllerã¯ã©ã¹ã«è»¢éããŸãã ã²ãŒã ã¯ã©ã¹ã®Drawé¢æ°ã¯æ¬¡ã®ããã«ãªããŸãã
protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); spriteBatch.Begin(); GameController.Draw(spriteBatch); spriteBatch.End(); base.Draw(gameTime); }
SpriteBatchã¯ã©ã¹ã®ãªããžã§ã¯ãã®ã¿ãGameController.Drawã«æž¡ãããšã«æ³šæããŠãã ãã-ããã¯æç»å°çšã§ãã ããã§ã¯GameTimeã¯å¿ èŠãããŸãããå¿ èŠãªèšç®ã¯ãã¹ãŠUpdateé¢æ°ã§æ¢ã«è¡ãããŠããããã§ãã
次ã«ãGameController.Drawã¯ãã²ãŒã ã¯ãŒã«ãã®ããžãã¯ãå®è£ ããã¯ã©ã¹ã§åæ§ã®DrawïŒspriteBatchïŒé¢æ°ãåŒã³åºããŸãã
æç»èªäœã¯éåžžã«ç°¡åã«èŠããŸãã
ã€ãŸããå®æãããã¯ã¹ãã£ã®ã¿ãç»é¢ã«è¡šç€ºã§ããŸãã2Dããªããã£ãïŒç·ãé·æ¹åœ¢ãæ¥åãªã©ïŒã®æç»ã¯XNAã§ã¯æäŸãããŠããŸãããspriteBatch.Draw(texture, position, color);
ãã¯ã¹ãã£ã¯ãã³ã³ãã³ãããããŠã³ããŒãããããšã§ååŸã§ããŸãã
ãã¯ã¹ãã£ã¯ãã§ã«ããŒããããŠããããã¹ãŠã®äœçœ®ãèšç®ãããŠããŸãã ããããè²ã䜿çšãããšãé¢çœãããšãã§ããŸãã ãã¯ã¹ãã£ã®å ã®è²ãå¿ èŠãªå Žåã¯ãColor.Whiteãæž¡ãå¿ èŠããããŸããTexture2D texture = Content.Load<Texture2D>(assetName);
ãã ããå¥ã®è²ã転éãããšããã®è²ã®ãªãŒããŒã¬ã€ã§ãã¯ã¹ãã£ãæç»ãããŸãã ã¢ã«ãã¡ãã£ã³ãã«ã§è²ãèšå®ãããšããã¯ã¹ãã£ã¯åéæã«ãªããŸãã ãããã£ãŠããªããžã§ã¯ãã®æ»ãããªå€èŠ³ãšæ¶å€±ãããã³ãããã®è²ã®å€åãå¶åŸ¡ã§ããŸãïŒããã¯ãã¹ãŠã²ãŒã ã§å¿ èŠã§ãïŒã
2ã€ã®è²ãæ··åããã«ã¯ãColor.Lerpé¢æ°ã䜿çšããŸãã ãŸããã¢ã«ãã¡ãã£ãã«ãè¿œå ããã«ã¯ãColor.FromNonPremultipliedé¢æ°ã䜿çšããå¿ èŠããããŸãã
spriteBatch.Drawé¢æ°ã«ã¯ä»ã«ããªãã·ã§ã³ãããããã¯ã¹ãã£ãå転ãããŠæ¡å€§çž®å°ããããšãã§ããŸãã 圌ããç§ãã¡ã«åœ¹ç«ã€ã§ãããã
ããã¹ãã衚瀺ãã
ç»é¢ã«ããã¹ãã衚瀺ããã®ã¯ãã°ã©ãã£ãã¯ã衚瀺ããã®ãšåããããç°¡åã§ãã
spriteBatch.DrawString(spriteFont, text, position, color);
SpriteFontã¯ã©ã¹ã®ãªããžã§ã¯ãã¯ãã³ã³ãã³ãããããŒãããããšã§ååŸã§ããŸãã
SpriteFont spriteFont = Content.Load<SpriteFont>(assetName);
ããã§ãåãæ¹æ³ã§ããã¹ãã®è²ãæå®ã§ããŸãã ãŸããã¢ã«ãã¡ãã£ã³ãã«ã§è²ãèšå®ãããšãããã¹ãã¯åéæã§æç»ãããŸãã
ãããŒãäœçœ®ã§ããã¹ãã衚瀺ããããã®åº§æšãæå®ãããšãããã¹ãããããã«æªãã§è¡šç€ºãããå ŽåããããŸãã ãããã£ãŠãããã¹ãã®ã¹ã ãŒãºãªç§»åãå¿ èŠãªå Žåã¯åžžã«ã座æšãæŽæ°ã«äžžããŸãã
spriteBatch.DrawStringé¢æ°ã«ã¯ãããã¹ãã®å転ãšæ¡å€§çž®å°ãå¯èœã«ããä»ã®ãªãã·ã§ã³ããããŸãã ãã ãããã®ãããªæäœã¯ããã¹ãã®æªã¿ãåŒãèµ·ããããšãèŠããŠããå¿ èŠããããŸãã ããã¯ãXNAãå ã®ãã¯ã¿ãŒãã©ã³ãã§ã¯ãªãããããžã§ã¯ãã®ã³ã³ãã€ã«æã«äœæãããã³ã³ãã³ãã«è¿œå ãããããããããè¡šçŸã§ã¯æ©èœããªãããã§ãã
ã¿ããã¹ã¯ãªãŒã³
ãŠãŒã¶ãŒãç»é¢ã®ã©ããã¯ãªãã¯ããããå€æããã«ã¯ãMicrosoft.Xna.Framework.Input.Touch.TouchPanelã¯ã©ã¹ããããŒã¿ãååŸããå¿ èŠããããŸãã
foreach (var item in TouchPanel.GetState()) { if (item.State == TouchLocationState.Pressed || item.State == TouchLocationState.Moved) { // Get item.Position } }
ãããã£ãŠããŠãŒã¶ãŒãæã§è§Šããã ãã®ç»é¢äžã®ãã¹ãŠã®ãã€ã³ããååŸããŸãã
ãã ãããŠãŒã¶ãŒãç»é¢äžã§1åã¿ããããå ŽæïŒæŒããç¶æ ãšé¢ããç¶æ ïŒã®ããŒã¿ãå¿ èŠã«ãªããŸãã ããã¯ãäžæåæ¢ãªã©ã®ç»é¢ãã¿ã³ã®ã¯ãªãã¯ã远跡ããããã«å¿ èŠã§ãã ãã®ããŒã¿ãååŸããã«ã¯ããžã§ã¹ãã£ãµããŒãã䜿çšããŸãã
æåã¯ãã²ãŒã ã®éå§æã«ããã®ãããªãžã§ã¹ãã£ãŒïŒã¿ããïŒã®ãµããŒããå¿ èŠã§ããããšã瀺ããŸãã
TouchPanel.EnabledGestures = GestureType.Tap;
ãã®åŸãã²ãŒã ã«ãŒãã®åå埩ã§ãžã§ã¹ãã£ãŒãååŸã§ããŸãã
while (TouchPanel.IsGestureAvailable) { GestureSample gesture = TouchPanel.ReadGesture(); if (gesture.GestureType == GestureType.Tap) { // Get guesture.Position } }
å é床èš
é»è©±ã®åŸãã«é¢ããæ å ±ãååŸããã«ã¯ãMicrosoft.Devices.Sensors.Accelerometerã¯ã©ã¹ã䜿çšããŸãã æ®å¿µãªãããå é床èšããçŽæ¥ããŒã¿ãååŸããããšã¯äžå¯èœã§ãïŒTouchPanelã§è¡ã£ãããã«ïŒ-ã€ãã³ãã¢ãã«ã®ã¿ããµããŒãããŸãã ãããã£ãŠããªããžã§ã¯ããäœæãããã®ã€ãã³ãããµãã¹ã¯ã©ã€ããããã«ããŒã¯ã©ã¹ãäœæããå¿ èŠããããŸãã
accelerometer = new Microsoft.Devices.Sensors.Accelerometer(); accelerometer.ReadingChanged += AccelerometerChanged; accelerometer.Start();
ã€ãã³ããã³ãã©ã§ã¯ãå éã®å€ãèšæ¶ããå°æ¥ã®äœ¿çšã®ããã«ä¿åããŸãã
private void AccelerometerChanged(object sender, AccelerometerReadingEventArgs e) { vector = new Vector3((float)eX, (float)eY, (float)eZ); }
å é床ãã¯ãã«ã«ã¯3ã€ã®è»žãã¹ãŠïŒXãYãããã³ZïŒã«é¢ããæ å ±ãå«ãŸããŸãããæåã®2ã€ã ããå¿ èŠã§ãïŒé»è©±ã®çžŠåãã«é¢ããŠïŒã ãããã£ãŠã座æšç³»ã§å é床ãè¿ãããããã£ã¯æ¬¡ã®ããã«ãªããŸãã
public Vector2 Acceleration { get { return new Vector2(vector.X, -vector.Y); } }
çœãããŒã«ã«äžããã®ã¯ãã®å éã§ãã
ããã§ã¯ãå é床èšã®è»žã®ããèŠèŠçãªè¡šçŸãååŸã§ããŸã ã
é³ã鳎ãã
XNAã§ãµãŠã³ããåçããã«ã¯ãSoundEffectã¯ã©ã¹ã®ãªããžã§ã¯ãã®Playé¢æ°ã䜿çšããŸãã ãã®ã¯ã©ã¹ã®ãªããžã§ã¯ãã¯ãã³ã³ãã³ãããããŠã³ããŒãã§ããŸãã
SoundEffect sound = Content.Load<SoundEffect>(assetName);
å®éãããã ãã§ã-ãµãŠã³ãã§ä»ã«äœãããå¿ èŠã¯ãããŸããã
çª
æåŸã«ãã²ãŒã ãå®äºããŸããçœãããŒã«ã¯å é床èšã«ãã£ãŠå¶åŸ¡ãããæ®ãã¯ãããè¿œããããæã§ããããã¯ãªãã¯ãããšãã¿ã«å€ããããã€ã³ããã«ãŠã³ããããé³ãåºãŸãã ãã¹ãŠæºåãã§ããŠããããã§ããïŒ ãã£ãïŒ
次ã«ããŠã£ã³ããŠãäœæããå¿ èŠããããŸãïŒéå§ãŠã£ã³ããŠïŒã¡ã€ã³ã¡ãã¥ãŒïŒãäžæåæ¢ãã€ã¢ãã°ãããã³ã²ãŒã å®äºãŠã£ã³ããŠïŒã¹ã³ã¢è¡šç€ºãšèšé²ä»ãïŒã
XNA for Windows Phoneã«ã¯ãŠã£ã³ããŠããªããããèªåã§ãŠã£ã³ããŠãäœæããå¿ èŠããããŸãã äžèŠæããã»ã©é£ããã¯ãããŸããã
芪ãåãå¢çã衚瀺ãæå¹ãããã³æŽæ°ãšæç»æ©èœã®äž»èŠãªããããã£ã§åºæ¬çãªã³ã³ãããŒã«ãäœæããã ãã§ååã§ãã 次ã«ããŠã£ã³ããŠããã¿ã³ãã©ãã«ãªã©ãããã€ãã®çžç¶äººãäœæããŸãã
ãã®åŸããŠã£ã³ããŠå ã«èŠçŽ ãç°¡åã«é 眮ã§ããŸãã
ç¶æ ä¿å
é»è©±ã®ã²ãŒã ã¯ãããŒããŠã§ã¢ã®ããŒã ãã¿ã³ãæŒãããå¥ã®å€éšã€ãã³ãã«ãã£ãŠãã€ã§ãäžæã§ããŸãã ãããã£ãŠãã²ãŒã ã®ç¶æ ããã€ã§ãç¶æããã²ãŒã ãããŒããããšãã«ãã®ç¶æ ã埩å ããããšãå¿é ããå¿ èŠããããŸãã
ç¶æ ïŒããã³åæã«èšå®ïŒãä¿åããã«ã¯ãSystem.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettingsã¯ã©ã¹ã䜿çšããŸãã ãã®ã¯ã©ã¹ã¯IDictionary <stringãobject>ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããŠãããããéåžžã«ç°¡åã«äœ¿çšã§ããŸãã ãã®ãã£ã¯ã·ã§ããªã«ã²ãŒã äžçã®ãã¹ãŠã®ãªããžã§ã¯ãã®çŸåšã®ç¶æ ïŒæ®å¿µãªããããããã®ããã€ãããããŸãïŒãè¿œå ããIsolatedStorageSettings.ApplicationSettings.SaveïŒïŒé¢æ°ãåŒã³åºããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®çµäºæã«ä¿åããŸãããã®ãããã²ãŒã ã¯ã©ã¹ã®OnExitingé¢æ°ããããã¯ããŸãã
protected override void OnExiting(object sender, EventArgs args) { GameController.SaveState(); base.OnExiting(sender, args); }
ç¶æ ã®åŸ©å ãåæ§ã«å®è¡ãããŸã-ã¢ããªã±ãŒã·ã§ã³ãèªã¿èŸŒããšãã«ãIsolatedStorageSettings.ApplicationSettingsããããŒã¿ãååŸããã²ãŒã ã¯ãŒã«ãã®ãã¹ãŠã®ãªããžã§ã¯ãã埩å ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãæå¹åããã³ç¡å¹åãã
ã¢ããªã±ãŒã·ã§ã³ã¯åžžã«ã¢ã¯ãã£ããªç¶æ ã«ãããšã¯éããŸãã-å Žåã«ãã£ãŠã¯ïŒããšãã°ãçä¿¡ã³ãŒã«ã«ãã£ãŠïŒéã¢ã¯ãã£ãåããŠãããåã³ã¢ã¯ãã£ãã«ããããšãã§ããŸãã
ãããã®ã€ãã³ãã远跡ããããã«ãã²ãŒã ã¯ã©ã¹ã®OnActivatedããã³OnDeactivatedé¢æ°ããããã¯ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãéã¢ã¯ãã£ãåããããšãã²ãŒã ãäžæåæ¢ã¢ãŒãã«ãªããŸã-ãã®ããããŠãŒã¶ãŒãã²ãŒã ã«æ»ããšããŠãŒã¶ãŒã¯ã²ãŒã ãç¶è¡ããããã®ææ¡ã®ãã€ã¢ãã°ãèŠã€ããããšãã§ããŸãã
ããã«ãéã¢ã¯ãã£ãç¶æ ã®é»è©±æ©ã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãç¡é§ã«ããªãããã«ãã²ãŒã ã¯ã©ã¹ã®Updateé¢æ°ã®å é ã«æ¬¡ã®ã³ãŒããè¿œå ããŸãã
if (!IsActive) { SuppressDraw(); return; }
ã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³
ç§ãã¡ã®ã²ãŒã ïŒãŸãã¯ã²ãŒã ã³ã³ãã³ãïŒã¯æ°ç§éèªã¿èŸŒãŸããåæã«çåœã®å åã¯è¡šç€ºãããŸãã-é»ãç»é¢ã®ã¿ã衚瀺ãããŸãã ã¢ããªã±ãŒã·ã§ã³ãæ©èœããŠããããšãäœããã®åœ¢ã§ãŠãŒã¶ãŒã«ç€ºãå¿ èŠããããŸãã ãããè¡ãã«ã¯ãã²ãŒã ã®éå§æã«çŸããã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ãæç»ããŠè¡šç€ºããŸãã

Windows Phoneçšã®Silverlightã¢ããªã±ãŒã·ã§ã³ã§ã¯ãSplashScreenImage.jpgãã¡ã€ã«ããããžã§ã¯ãã«è¿œå ããã ãã§ãèµ·åæã«èªåçã«è¡šç€ºãããŸãã ãã ããããã¯XNAãããžã§ã¯ãã§ã¯æ©èœããŸããã
ã³ã³ãã³ãã®èªã¿èŸŒã¿ãããçŽãå¿ èŠããããŸã-æåã«ãã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã®ãã¯ã¹ãã£ãèªã¿èŸŒã¿ãDrawé¢æ°ãåããŠåŒã³åºãããšãã«æç»ããŸãã ãããŠãæ®ãã®ã³ã³ãã³ãããã¹ãŠããŠã³ããŒãããŠãã²ãŒã ãèµ·åããŸãã ãããŠãæ®ãã®ã³ã³ãã³ããããŒããããŠããéããŠãŒã¶ãŒã¯ç»é¢äžã§ã¹ãã©ãã·ã¥ç»é¢ãèŠãããšãã§ããŸãã
ããã§ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åãããè¯ããªããŸããã
é»è©±ã§ã®ã²ãŒã ã®å Žæ
ã²ãŒã ã[ã²ãŒã ]ã»ã¯ã·ã§ã³ã®é»è©±ã«è¡šç€ºããã«ã¯ïŒé»è©±ã®éå§ç»é¢ã§[XBOX LIVE]ãšãããã¿ã³ãã¯ãªãã¯ãããšè¡šç€ºãããŸãïŒããããžã§ã¯ãã®WMAppManifest.xmlãã¡ã€ã«ãç·šéããå¿ èŠããããŸãã ãã®ãã¡ã€ã«ã§ã¯ããžã£ã³ã«=ãApps.Normalãã®è¡ã®ä»£ããã«ããžã£ã³ã«=ãApps.Gamesããšèšè¿°ããå¿ èŠããããŸãã
åæã«ãåããã¡ã€ã«å ã®ã²ãŒã ã®ååãšèª¬æãïŒTitleå±æ§ãšDescriptionå±æ§ã§ïŒç€ºããŸãã äžèŠãªèŠä»¶ãåé€ããŸãïŒã»ã¯ã·ã§ã³ïŒã ãã®ã»ã¯ã·ã§ã³ã§ã¯ãå é床èšããµããŒãããããã«/>ã®ã¿ãæ®ããŸãã ãã®ããŒãžã§ã³ã®ã²ãŒã ã®æ®ãã®éšåã¯ãŸã å¿ èŠãããŸããã
ãããžã§ã¯ãã«ã¯ãGameThumbnail.pngãšBackground.pngã®2ã€ã®ç»åãå¿ èŠã§ãã
æåã®ç»åã¯ã²ãŒã ã»ã¯ã·ã§ã³ã§ã²ãŒã ã衚瀺ããããã«å¿ èŠã§ã2çªç®ã®ç»åã¯æºåž¯é»è©±ã®ã¹ã¿ãŒãç»é¢ã«å¿ èŠã§ãã äž¡æ¹ã®ç»åã¯åããµã€ãºã§ããå¿ èŠããããŸãïŒ173x173ãã¯ã»ã«ã
è©Šçšã¢ãŒã
ã²ãŒã ã¯ææã«ãªããããè©Šçšã¢ãŒãã®ãµããŒããè¿œå ããå¿ èŠããããŸãã è©Šçšæ€èšŒã¯æ¢ã«ãã©ãããã©ãŒã ã«çµã¿èŸŒãŸããŠãããMicrosoft.Phone.Marketplace.LicenseInformationã¯ã©ã¹ã䜿çšããŠå®è¡ãããŸãã
var license = new Microsoft.Phone.Marketplace.LicenseInformation(); return license.IsTrial();
ãã®é¢æ°ã®åäœã¯ããªãé ããããã²ãŒã ã«ãŒãã®ç¹°ãè¿ãããšã«åŒã³åºãããšã¯ãããŸããã 代ããã«ãã²ãŒã ã¯ã©ã¹ã®OnActivatedé¢æ°ã§ã¢ããªã±ãŒã·ã§ã³ãã¢ã¯ãã£ãã«ãªã£ããšãã«ã®ã¿åŒã³åºããçµæãå€æ°ã«ä¿åããŸãã
ã¢ããªã±ãŒã·ã§ã³ãè©Šçšã¢ãŒãã§èµ·åãããå Žåãã²ãŒã ã®æ°ååŸã«ãã¢ããªã±ãŒã·ã§ã³ãè³Œå ¥ããããæ°ããã²ãŒã ãéå§ãããšããææ¡ã®ãã€ã¢ãã°ããŠãŒã¶ãŒã«è¡šç€ºãããŸãã
[è³Œå ¥]ãã¿ã³ãã¯ãªãã¯ãããšãWindows PhoneããŒã±ãããã¬ã€ã¹ã«ã¢ããªã±ãŒã·ã§ã³ã衚瀺ãããŸãã
var market = new Microsoft.Phone.Tasks.MarketplaceDetailTask(); market.Show();
è³Œå ¥åŸããŠãŒã¶ãŒã¯ã¢ããªã±ãŒã·ã§ã³ã«æ»ã£ãŠã²ãŒã ãç¶è¡ã§ããŸãã
æ»ããã¿ã³
æåŸã«ããã¹ãŠã®æºåãæŽããã¢ããªã±ãŒã·ã§ã³ãWindows PhoneããŒã±ãããã¬ã€ã¹ã«éä¿¡ããŠããŸãã å ¬éåã«ãMicrosoftã§åŸ¹åºçã«ãã¹ããããæ°æ¥åŸã«è©æ±ºãåºãããŸããåæ ŒããŠããŸããã åé¡ã¯äœã§ããïŒ
ãã®åé¡ã¯ãæŽæ°æ©èœã«æ®ããã³ãŒããã®ãã®ã«ããããšãå€æããŸããã
protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); ... }
ããŒããŠã§ã¢ã®[æ»ã]ãã¿ã³ã¯ã©ãã§ãç¹å®ã®æ¹æ³ã§æ©èœããã¯ãã§ã-ãŠãŒã¶ãŒãåã®ç»é¢ã«æ»ããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ã®çµäºã¯ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã®éå§ç»é¢ïŒã²ãŒã ã®ã¡ã€ã³ã¡ãã¥ãŒïŒã«ããå Žåã«ã®ã¿å®è¡ããå¿ èŠããããŸãã äžæåæ¢ãã€ã¢ãã°ãéããŠããå Žåã[æ»ã]ãã¿ã³ãæŒããšã²ãŒã ã«æ»ããŸãã
ãããã[æ»ã]ãã¿ã³ã¯åžžã«ã¢ããªã±ãŒã·ã§ã³ãçµäºãããŸããã ãã®ã³ãŒããåé€ãã[æ»ã]ãã¿ã³ã®æ£ããåŠçãè¡ãã確èªã®ããã«å床éä¿¡ããŸãã ç¹°ãè¿ãã®ã¬ãã¥ãŒã«ãããæéã¯ã¯ããã«çããªããŸãã
çµæ
ãããŠã€ãã«åãå ¥ããããŸããïŒ çŸåšãã²ãŒã ã¯Windows Phone Marketplaceã«ãããŸãã
åèšã§çŽ2é±éãéçºã«è²»ããããŸããïŒããã«2é±éãã²ãŒã ãã¹ãã¢ã«é 眮ããã®ã«è²»ããããŸããïŒã çµæã¯éåžžã«çŽ æŽããããšããµã€ãã£ã³ã°ãªã²ãŒã ã§ãïŒ


Best WP7 Games Webãµã€ãã®ãšãã£ã¿ãŒã¯ããã®ã²ãŒã ãã¬ãã¥ãŒããŸããïŒ www.bestwp7games.com/splash-fun-accelerometer-game-for-wp7-review.html
ãããŠãç»å Žãã1é±éåŸããã®ã²ãŒã ã¯Windows PhoneããŒã±ãããã¬ã€ã¹ã§ææã²ãŒã ã®ããã100ãç²åŸããŸããã
ããããã²ãŒã ãããŠã³ããŒãã§ããŸãã
ãã®ã²ãŒã ãéçºããçµéšããã©ã®ãããªçµè«ãåŒãåºãããšãã§ããŸããïŒ Windows Phone 7çšã®ã²ãŒã ã®äœæã¯æ¬åœã«ç°¡åã§ãïŒ