Áǿͤ¬¥²¡¼¥à¥×¥í¥°¥é¥àºîÀ®¤ËÄ©Àï
¥²¡¼¥à¤òÇ㤦¤ª¶â¤¬¤Ê¤¤¤«¤é¡¢¥²¡¼¥à¤òºî¤ë¤È¤¤¤¦¥²¡¼¥à¤ËÄ©À¸À¸ì¤ÏVisual Basic¡ÊVB¡Ë¤ò¥á¥¤¥ó¤ËC++¡¢C#¡¢Java¤Ï»²¹ÍÄøÅÙ
Entries
¥¢¥Ë¥á¡¼¥·¥ç¥ó¡¡¤½¤Î7
- ¥¸¥ã¥ó¥ë : ¥³¥ó¥Ô¥å¡¼¥¿
- ¥¹¥ì¥Ã¥É¥Æ¡¼¥Þ : Visual Basic
¥¢¥Ë¥á¡¼¥·¥ç¥ó¡¡¤½¤Î6¤Ç²¡¤µ¤ì¤¿Êý¸þ¤Ë°Üư¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Þ¤·¤¿¡£
º£²ó¤ÏÆþÎϤµ¤ì¤¿Êý¸þ¤Ë°ìÊâ¤À¤±¿Ê¤à¤è¤¦¤Ë²þ¤¤·¤Æ¤¤¤¤Þ¤¹¡£
°ìÊâ¤È¤¤¤¦¤Î¤Ï32¡ß32¤Î²èÁü¤Ç¤¢¤ì¤Ð32¥Ô¥¯¥»¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£
32¥Ô¥¯¥»¥ëư¤¯¤Þ¤Ç¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤Æ32¥Ô¥¯¥»¥ëư¤¤¤¿¤é¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ò»ß¤á¤ì¤Ð¤¤¤¤¤ï¤±¤Ç¤¹¡£
¤È¤¤¤¦¤³¤È¤Ï¡¢²èÁü¤¬32¥Ô¥¯¥»¥ëư¤¤¤¿¤«¤É¤¦¤«¤ÇȽÄꤹ¤ëɬÍפ¬½Ð¤Æ¤¤Þ¤¹¡£
¤³¤Î¾ò·ï¼°¤Ï¡¢
¡º£¤Î¾ì½ê¤òµÏ¿¤·¤Æ°Üư¤·¤¿²èÁü¤È¤Îº¹¤¬32¤«¤É¤¦¤«
¢º£¤Î¾ì½ê¤Ë32²Ã¤¨¤¿ÌÜŪºÂɸ¤òºîÀ®¤·¡¢²èÁü¤òư¤«¤·¤ÆÌÜŪºÂɸ¤òͤ¨¤¿¤«¤É¤¦¤«
¤Î¤É¤Á¤é¤«¤òÍøÍѤ¹¤ì¤Ð¤¤¤¤¤«¤È¡£
¤Á¤Ê¤ß¤Ë¡¢º£²ó¤Ï¡¤Î¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¤Þ¤·¤¿¡£
¤É¤Á¤é¤Î¥Ñ¥¿¡¼¥ó¤Ç¤âºÂɸ¾ðÊó¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤³¤ÎºÂɸ¾ðÊó¤òºîÀ®¤¹¤ë¤Î¤Ï¥«¡¼¥½¥ë¥¡¼¤¬ÆþÎϤµ¤ì¤¿¤È¤¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤ë¤«¤µ¤»¤Ê¤¤¤«¤Ï¥Õ¥é¥°¤òÍøÍѤ·¤Æ¤¤¤¤Þ¤¹¡£
¤³¤Î¥Õ¥é¥°¤â¥«¡¼¥½¥ë¥¡¼¤¬²¡¤µ¤ì¤¿¤È¤¤Ë͸ú¤Ë¤·¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¥«¡¼¥½¥ë¥¡¼¤¬²¡¤µ¤ì¤¿¤È¤¤Î½èÍý¤â¥Õ¥é¥°¤Î¾õÂÖ¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¥³¡¼¥É¤ò½¤Àµ¤·¤Æ¤ª¤¤Þ¤¹¡£
¤³¤Îºî¶È¤ò¤·¤Æ¤ª¤«¤Ê¤¤¤Èư¤¤¤Æ¤¤¤ëºÇÃæ¤ËÊý¸þÊÑ´¹¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
º£²ó¤Î¥á¥¤¥ó¤Ï32¥Ô¥¯¥»¥ë°Üư¤È¤¤¤¦½èÍý¤Ç¤¹¡£
²èÁü¤ÎºÂɸ¤ÏPoint¤Ç¤Ï¤Ê¤¯¾¯¿ôÅÀ¤ÎPointF¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
°ì²ó¤ÎPaint¥á¥½¥Ã¥É¤Ç²¿¥Ô¥¯¥»¥ë°Üư¤¹¤ë¤«¤Ï¥³¥ó¥Ô¥å¡¼¥¿¼¡Âè¤Ç¤¹¤¬¾¯¿ô°Ê²¼¤ÎÃͤϤ«¤Ê¤é¤ºÈ¯À¸¤·¤Æ¤¤¤·¤Þ¤¤¤Þ¤¹¡£
¤³¤ì¤¬¤¢¤ë¤È¡¢ÃÊ¡¹¥º¥ì¤¬À¸¤¸¤Æ¤·¤Þ¤¦¸¶°ø¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤³¤ÇÂкö¤È¤·¤Æ²èÁü¤Î¾ì½ê¤ÏÉâÆ°¾®¿ôÅÀ¤ÎPointF·¿¤Ç´ÉÍý¤µ¤»¤Þ¤¹¤¬¡¢¤â¤Ã¤ÈÂ绨ÇĤ˲èÁü¤¬¤É¤³¤Î¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡Ë¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¤ò´ÉÍý¤¹¤ëPoint·¿¤ÎºÂɸ¤òÍѰդ·¤Æ¤ª¤¤Þ¤¹¡£
ºÂɸ¤È¤¤¤Ã¤Æ¤â¥Ô¥¯¥»¥ëñ°Ì¤Ç¤Ï¤Ê¤¯¡¢¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡Ëñ°Ì¤ÎºÂɸ¤È¤·¤Æ¹Í¤¨¤Þ¤¹¡£
¤³¤Î¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡ËºÂɸ¤Ë32¥Ô¥¯¥»¥ë¤ò³Ý¤±¤ì¤Ð¤«¤Ê¤é¤ºÀ°¿ô¤Ç32¤ÎÇÜ¿ô¤Ë¤Ê¤ëºÂɸ¤¬ºîÀ®¤Ç¤¤Þ¤¹¡£
¤³¤ì¤ò²èÁü¤Î¾ì½ê¾ðÊó¤È¤·¤ÆºÆÅÙÀßÄꤹ¤ì¤ÐÊÑ¤Ê¸íº¹¤Ï¤Ç¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¾åµ¤Î¤³¤È¤ò¥³¡¼¥É¤Ë¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
°Ê¾å¤Ç¥¥ã¥é¥¯¥¿¡¼¤ò¥«¡¼¥½¥ë¥¡¼¤Ç°Üư¤µ¤»¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ï´°À®¤Ç¤¹¡£
RPG¥²¡¼¥à¤ËɬÍפʤâ¤Î¤Ï¤Þ¤À¤Þ¤À¤¢¤ê¤Þ¤¹¤¬Ž¥Ž¥Ž¥
¼¡¤Ï¥Þ¥Ã¥×¥Á¥Ã¥×¤ËÄ©À路¤Æ¤ß¤Þ¤¹¤«¡£
º£²ó¤ÏÆþÎϤµ¤ì¤¿Êý¸þ¤Ë°ìÊâ¤À¤±¿Ê¤à¤è¤¦¤Ë²þ¤¤·¤Æ¤¤¤¤Þ¤¹¡£
°ìÊâ¤È¤¤¤¦¤Î¤Ï32¡ß32¤Î²èÁü¤Ç¤¢¤ì¤Ð32¥Ô¥¯¥»¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£
32¥Ô¥¯¥»¥ëư¤¯¤Þ¤Ç¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤Æ32¥Ô¥¯¥»¥ëư¤¤¤¿¤é¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ò»ß¤á¤ì¤Ð¤¤¤¤¤ï¤±¤Ç¤¹¡£
¤È¤¤¤¦¤³¤È¤Ï¡¢²èÁü¤¬32¥Ô¥¯¥»¥ëư¤¤¤¿¤«¤É¤¦¤«¤ÇȽÄꤹ¤ëɬÍפ¬½Ð¤Æ¤¤Þ¤¹¡£
¤³¤Î¾ò·ï¼°¤Ï¡¢
¡º£¤Î¾ì½ê¤òµÏ¿¤·¤Æ°Üư¤·¤¿²èÁü¤È¤Îº¹¤¬32¤«¤É¤¦¤«
¢º£¤Î¾ì½ê¤Ë32²Ã¤¨¤¿ÌÜŪºÂɸ¤òºîÀ®¤·¡¢²èÁü¤òư¤«¤·¤ÆÌÜŪºÂɸ¤òͤ¨¤¿¤«¤É¤¦¤«
¤Î¤É¤Á¤é¤«¤òÍøÍѤ¹¤ì¤Ð¤¤¤¤¤«¤È¡£
¤Á¤Ê¤ß¤Ë¡¢º£²ó¤Ï¡¤Î¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¤Þ¤·¤¿¡£
¤É¤Á¤é¤Î¥Ñ¥¿¡¼¥ó¤Ç¤âºÂɸ¾ðÊó¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤³¤ÎºÂɸ¾ðÊó¤òºîÀ®¤¹¤ë¤Î¤Ï¥«¡¼¥½¥ë¥¡¼¤¬ÆþÎϤµ¤ì¤¿¤È¤¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¤µ¤»¤ë¤«¤µ¤»¤Ê¤¤¤«¤Ï¥Õ¥é¥°¤òÍøÍѤ·¤Æ¤¤¤¤Þ¤¹¡£
¤³¤Î¥Õ¥é¥°¤â¥«¡¼¥½¥ë¥¡¼¤¬²¡¤µ¤ì¤¿¤È¤¤Ë͸ú¤Ë¤·¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¥«¡¼¥½¥ë¥¡¼¤¬²¡¤µ¤ì¤¿¤È¤¤Î½èÍý¤â¥Õ¥é¥°¤Î¾õÂÖ¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¥³¡¼¥É¤ò½¤Àµ¤·¤Æ¤ª¤¤Þ¤¹¡£
¤³¤Îºî¶È¤ò¤·¤Æ¤ª¤«¤Ê¤¤¤Èư¤¤¤Æ¤¤¤ëºÇÃæ¤ËÊý¸þÊÑ´¹¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
º£²ó¤Î¥á¥¤¥ó¤Ï32¥Ô¥¯¥»¥ë°Üư¤È¤¤¤¦½èÍý¤Ç¤¹¡£
²èÁü¤ÎºÂɸ¤ÏPoint¤Ç¤Ï¤Ê¤¯¾¯¿ôÅÀ¤ÎPointF¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
°ì²ó¤ÎPaint¥á¥½¥Ã¥É¤Ç²¿¥Ô¥¯¥»¥ë°Üư¤¹¤ë¤«¤Ï¥³¥ó¥Ô¥å¡¼¥¿¼¡Âè¤Ç¤¹¤¬¾¯¿ô°Ê²¼¤ÎÃͤϤ«¤Ê¤é¤ºÈ¯À¸¤·¤Æ¤¤¤·¤Þ¤¤¤Þ¤¹¡£
¤³¤ì¤¬¤¢¤ë¤È¡¢ÃÊ¡¹¥º¥ì¤¬À¸¤¸¤Æ¤·¤Þ¤¦¸¶°ø¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤³¤ÇÂкö¤È¤·¤Æ²èÁü¤Î¾ì½ê¤ÏÉâÆ°¾®¿ôÅÀ¤ÎPointF·¿¤Ç´ÉÍý¤µ¤»¤Þ¤¹¤¬¡¢¤â¤Ã¤ÈÂ绨ÇĤ˲èÁü¤¬¤É¤³¤Î¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡Ë¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¤ò´ÉÍý¤¹¤ëPoint·¿¤ÎºÂɸ¤òÍѰդ·¤Æ¤ª¤¤Þ¤¹¡£
ºÂɸ¤È¤¤¤Ã¤Æ¤â¥Ô¥¯¥»¥ëñ°Ì¤Ç¤Ï¤Ê¤¯¡¢¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡Ëñ°Ì¤ÎºÂɸ¤È¤·¤Æ¹Í¤¨¤Þ¤¹¡£
¤³¤Î¥Ö¥í¥Ã¥¯¡Ê¥Þ¥¹¡ËºÂɸ¤Ë32¥Ô¥¯¥»¥ë¤ò³Ý¤±¤ì¤Ð¤«¤Ê¤é¤ºÀ°¿ô¤Ç32¤ÎÇÜ¿ô¤Ë¤Ê¤ëºÂɸ¤¬ºîÀ®¤Ç¤¤Þ¤¹¡£
¤³¤ì¤ò²èÁü¤Î¾ì½ê¾ðÊó¤È¤·¤ÆºÆÅÙÀßÄꤹ¤ì¤ÐÊÑ¤Ê¸íº¹¤Ï¤Ç¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¾åµ¤Î¤³¤È¤ò¥³¡¼¥É¤Ë¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
Public Class Form1
¡¡¡¡Enum Direction
¡¡¡¡¡¡¡¡¡Ê¾Êά¡Ë
¡¡¡¡End Enum
¡¡¡¡Dim img As Bitmap = New Bitmap(My.Resources.anime6) '¥¹¥×¥é¥¤¥È²èÁü
¡¡¡¡Dim imgRect(,) As Rectangle '²èÁü¶ë·ÁÇÛÎó
¡¡¡¡Dim iNo As Integer 'ɽ¼¨²èÁü¥¤¥ó¥Ç¥Ã¥¯¥¹
¡¡¡¡Dim direct As Direction '¥¥ã¥é¥¯¥¿¡¼¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ
¡¡¡¡Dim swatch As Stopwatch = New Stopwatch() '¥¹¥È¥Ã¥×¥¦¥©¥Ã¥Á
¡¡¡¡Dim lastTime As Double 'Á°²ó¼Â¹Ô»þ¤Î»þ´Ö
¡¡¡¡Dim loc As PointF '²èÁü¤Î¾ì½êºÂɸ
¡¡¡¡Dim vel As PointF '²èÁü¤Î°Üư®ÅÙŽ¥Ž¥Ž¥¥Ù¥¯¥È¥ë
¡¡¡¡Dim pos As Point '²èÁüɽ¼¨¥Ö¥í¥Ã¥¯
¡¡¡¡Dim dep As PointF '°Üư»þ¤Î²èÁüºÂɸ
¡¡¡¡Dim MoveFlg As Boolean '°Üư¥¢¥Ë¥á¡¼¥·¥ç¥ó¥Õ¥é¥°
¡¡¡¡Public Sub New( )
¡¡¡¡¡¡¡¡¡Ê¾Êά¡Ë
¡¡¡¡End Sub
¡¡¡¡Sub Init( )
¡¡¡¡¡¡¡¡imgRect = New Rectangle(3, 3) { }
¡¡¡¡¡¡¡¡For y As Integer = 0 To imgRect.GetUpperBound(0) '¹ÔޥޥޥÁ°¡¢¸å¡¢º¸¡¢±¦
¡¡¡¡¡¡¡¡¡¡¡¡For x As Integer = 0 To imgRect.GetUpperBound(1) 'Î󎥎¥Ž¥£±¡¤£²¡¤£³¡¤£´
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡imgRect(y, x) = New Rectangle(x * 32, y * 32, 32, 32)
¡¡¡¡¡¡¡¡¡¡¡¡Next
¡¡¡¡¡¡¡¡Next
¡¡¡¡¡¡¡¡iNo = 0
¡¡¡¡¡¡¡¡direct = Direction.down 'Á°¸þ¤
¡¡¡¡¡¡¡¡lastTime = 0.0
¡¡¡¡¡¡¡¡swatch.Reset( )
¡¡¡¡¡¡¡¡swatch.Start( )
¡¡¡¡¡¡¡¡pos = New Point(0, 0)
¡¡¡¡¡¡¡¡loc = New PointF(pos.X * 32, pos.Y * 32)
¡¡¡¡¡¡¡¡vel = New PointF(32, 0)
¡¡¡¡¡¡¡¡MoveFlg = False
¡¡¡¡End Sub
¡¡¡¡Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
¡¡¡¡¡¡¡¡Dim g As Graphics = e.Graphics
¡¡¡¡¡¡¡¡Dim nowTime As Double = swatch.ElapsedMilliseconds / 1000.0 'Paint¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤¿½Ö´Ö¤Î»þ´Ö
¡¡¡¡¡¡¡¡Dim elapsedTime As Double = nowTime - lastTime
¡¡¡¡¡¡¡¡lastTime = nowTime
¡¡¡¡¡¡¡¡'²èÁüÀÚ¤êÂØ¤¨½èÍý
¡¡¡¡¡¡¡¡iNo = CInt(Fix((nowTime * 2) Mod 4.0F))
¡¡¡¡¡¡¡¡If MoveFlg = True Then
¡¡¡¡¡¡¡¡¡¡¡¡loc.X += vel.X * CSng(elapsedTime) 'XºÂɸ¤Î°Üư
¡¡¡¡¡¡¡¡¡¡¡¡loc.Y += vel.Y * CSng(elapsedTime) 'YºÂɸ¤Î°Üư
¡¡¡¡¡¡¡¡¡¡¡¡If Math.Abs(loc.X - dep.X) >= 32 OrElse Math.Abs(loc.Y - dep.Y) > 32 Then 'XYºÂɸ¤¬³«»ÏºÂɸ¤«¤é32¥Ô¥¯¥»¥ë°Üư¤·¤Æ¤¤¤ë¤«
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = False
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pos.X += vel.X \ 32 '¥Ö¥í¥Ã¥¯ºÂɸ¤Î»»½Ð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pos.Y += vel.Y \ 32 '¥Ö¥í¥Ã¥¯ºÂɸ¤Î»»½Ð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡loc = New PointF(pos.X * 32, pos.Y * 32) '¥Ö¥í¥Ã¥¯ºÂɸ¤«¤éÊÑ´¹
¡¡¡¡¡¡¡¡¡¡¡¡End If
¡¡¡¡¡¡¡¡End If
¡¡¡¡¡¡¡¡'²èÁüÉÁ²è½èÍý
¡¡¡¡¡¡¡¡g.DrawImage(img, loc.X, loc.Y, imgRect(direct, iNo), GraphicsUnit.Pixel)
¡¡¡¡¡¡¡¡Me.Invalidate( ) '¶¯À©ºÆÉÁ²è
¡¡¡¡End Sub
¡¡¡¡Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
¡¡¡¡¡¡¡¡If MoveFlg = False Then '¥¢¥Ë¥á¡¼¥·¥ç¥ó¤·¤Æ¤¤¤Ê¤±¤ì¤Ð
¡¡¡¡¡¡¡¡¡¡¡¡Select Case e.KeyCode
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Up
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.up
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(0, -32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Down
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.down
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(0, 32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Left
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.left
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(-32, 0)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Right
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.right
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(32, 0)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡End Select
¡¡¡¡¡¡¡¡¡¡¡¡dep = loc '°Üư³«»Ï»þ¤ÎºÂɸ¤òµÏ¿
¡¡¡¡¡¡¡¡End If
¡¡¡¡End Sub
End Class
¡¡¡¡Enum Direction
¡¡¡¡¡¡¡¡¡Ê¾Êά¡Ë
¡¡¡¡End Enum
¡¡¡¡Dim img As Bitmap = New Bitmap(My.Resources.anime6) '¥¹¥×¥é¥¤¥È²èÁü
¡¡¡¡Dim imgRect(,) As Rectangle '²èÁü¶ë·ÁÇÛÎó
¡¡¡¡Dim iNo As Integer 'ɽ¼¨²èÁü¥¤¥ó¥Ç¥Ã¥¯¥¹
¡¡¡¡Dim direct As Direction '¥¥ã¥é¥¯¥¿¡¼¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ
¡¡¡¡Dim swatch As Stopwatch = New Stopwatch() '¥¹¥È¥Ã¥×¥¦¥©¥Ã¥Á
¡¡¡¡Dim lastTime As Double 'Á°²ó¼Â¹Ô»þ¤Î»þ´Ö
¡¡¡¡Dim loc As PointF '²èÁü¤Î¾ì½êºÂɸ
¡¡¡¡Dim vel As PointF '²èÁü¤Î°Üư®ÅÙŽ¥Ž¥Ž¥¥Ù¥¯¥È¥ë
¡¡¡¡Dim pos As Point '²èÁüɽ¼¨¥Ö¥í¥Ã¥¯
¡¡¡¡Dim dep As PointF '°Üư»þ¤Î²èÁüºÂɸ
¡¡¡¡Dim MoveFlg As Boolean '°Üư¥¢¥Ë¥á¡¼¥·¥ç¥ó¥Õ¥é¥°
¡¡¡¡Public Sub New( )
¡¡¡¡¡¡¡¡¡Ê¾Êά¡Ë
¡¡¡¡End Sub
¡¡¡¡Sub Init( )
¡¡¡¡¡¡¡¡imgRect = New Rectangle(3, 3) { }
¡¡¡¡¡¡¡¡For y As Integer = 0 To imgRect.GetUpperBound(0) '¹ÔޥޥޥÁ°¡¢¸å¡¢º¸¡¢±¦
¡¡¡¡¡¡¡¡¡¡¡¡For x As Integer = 0 To imgRect.GetUpperBound(1) 'Î󎥎¥Ž¥£±¡¤£²¡¤£³¡¤£´
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡imgRect(y, x) = New Rectangle(x * 32, y * 32, 32, 32)
¡¡¡¡¡¡¡¡¡¡¡¡Next
¡¡¡¡¡¡¡¡Next
¡¡¡¡¡¡¡¡iNo = 0
¡¡¡¡¡¡¡¡direct = Direction.down 'Á°¸þ¤
¡¡¡¡¡¡¡¡lastTime = 0.0
¡¡¡¡¡¡¡¡swatch.Reset( )
¡¡¡¡¡¡¡¡swatch.Start( )
¡¡¡¡¡¡¡¡pos = New Point(0, 0)
¡¡¡¡¡¡¡¡loc = New PointF(pos.X * 32, pos.Y * 32)
¡¡¡¡¡¡¡¡vel = New PointF(32, 0)
¡¡¡¡¡¡¡¡MoveFlg = False
¡¡¡¡End Sub
¡¡¡¡Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
¡¡¡¡¡¡¡¡Dim g As Graphics = e.Graphics
¡¡¡¡¡¡¡¡Dim nowTime As Double = swatch.ElapsedMilliseconds / 1000.0 'Paint¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤¿½Ö´Ö¤Î»þ´Ö
¡¡¡¡¡¡¡¡Dim elapsedTime As Double = nowTime - lastTime
¡¡¡¡¡¡¡¡lastTime = nowTime
¡¡¡¡¡¡¡¡'²èÁüÀÚ¤êÂØ¤¨½èÍý
¡¡¡¡¡¡¡¡iNo = CInt(Fix((nowTime * 2) Mod 4.0F))
¡¡¡¡¡¡¡¡If MoveFlg = True Then
¡¡¡¡¡¡¡¡¡¡¡¡loc.X += vel.X * CSng(elapsedTime) 'XºÂɸ¤Î°Üư
¡¡¡¡¡¡¡¡¡¡¡¡loc.Y += vel.Y * CSng(elapsedTime) 'YºÂɸ¤Î°Üư
¡¡¡¡¡¡¡¡¡¡¡¡If Math.Abs(loc.X - dep.X) >= 32 OrElse Math.Abs(loc.Y - dep.Y) > 32 Then 'XYºÂɸ¤¬³«»ÏºÂɸ¤«¤é32¥Ô¥¯¥»¥ë°Üư¤·¤Æ¤¤¤ë¤«
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = False
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pos.X += vel.X \ 32 '¥Ö¥í¥Ã¥¯ºÂɸ¤Î»»½Ð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pos.Y += vel.Y \ 32 '¥Ö¥í¥Ã¥¯ºÂɸ¤Î»»½Ð
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡loc = New PointF(pos.X * 32, pos.Y * 32) '¥Ö¥í¥Ã¥¯ºÂɸ¤«¤éÊÑ´¹
¡¡¡¡¡¡¡¡¡¡¡¡End If
¡¡¡¡¡¡¡¡End If
¡¡¡¡¡¡¡¡'²èÁüÉÁ²è½èÍý
¡¡¡¡¡¡¡¡g.DrawImage(img, loc.X, loc.Y, imgRect(direct, iNo), GraphicsUnit.Pixel)
¡¡¡¡¡¡¡¡Me.Invalidate( ) '¶¯À©ºÆÉÁ²è
¡¡¡¡End Sub
¡¡¡¡Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
¡¡¡¡¡¡¡¡If MoveFlg = False Then '¥¢¥Ë¥á¡¼¥·¥ç¥ó¤·¤Æ¤¤¤Ê¤±¤ì¤Ð
¡¡¡¡¡¡¡¡¡¡¡¡Select Case e.KeyCode
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Up
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.up
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(0, -32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Down
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.down
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(0, 32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Left
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.left
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(-32, 0)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Case Keys.Right
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡direct = Direction.right
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vel = New PointF(32, 0)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MoveFlg = True
¡¡¡¡¡¡¡¡¡¡¡¡End Select
¡¡¡¡¡¡¡¡¡¡¡¡dep = loc '°Üư³«»Ï»þ¤ÎºÂɸ¤òµÏ¿
¡¡¡¡¡¡¡¡End If
¡¡¡¡End Sub
End Class
°Ê¾å¤Ç¥¥ã¥é¥¯¥¿¡¼¤ò¥«¡¼¥½¥ë¥¡¼¤Ç°Üư¤µ¤»¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ï´°À®¤Ç¤¹¡£
RPG¥²¡¼¥à¤ËɬÍפʤâ¤Î¤Ï¤Þ¤À¤Þ¤À¤¢¤ê¤Þ¤¹¤¬Ž¥Ž¥Ž¥
¼¡¤Ï¥Þ¥Ã¥×¥Á¥Ã¥×¤ËÄ©À路¤Æ¤ß¤Þ¤¹¤«¡£
0·ï¤Î¥³¥á¥ó¥È
¥³¥á¥ó¥È¤ÎÅê¹Æ
0·ï¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
- ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
- http://hinagis.blog33.fc2.com/tb.php/30-85b23ba2
- ¤³¤Îµ»ö¤ËÂФ·¤Æ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤òÁ÷¿®¤¹¤ë¡ÊFC2¥Ö¥í¥°¥æ¡¼¥¶¡¼¡Ë



