01±±¿Æ´óÊîÆÚ¼ÆËã»úʵ¼ùFunCodeÓÎÏ·Éè¼Æ+C++¿Î³ÌÉè¼Æ_º£µ×ÊÀ½ç

fSpeedX= 15.f;//ÏòÓÒµÄʱºòX·½ÏòµÄËÙ¶ÈΪÕýÖµ break;

}

4£© µ÷Óú¯ÊýÉèÖÃÓãµÄËÙ¶È£º

m_pMyFish->SetSpriteLinearVelocity(fSpeedX, fSpeedY);

5£© ÔÚMain.cppÖÐOnKeyDownº¯ÊýÀïÃæÌí¼Ó¶Ô¸Ã×Ô¶¨Ò庯ÊýµÄµ÷Óãº

g_GameMain.OnKeyDown(iKey,bAltPress,bShiftPress,bCtrlPress);

5¡¢ ´¦Àí¼üÅÌÊÍ·ÅÏûÏ¢ÐèÒªÌí¼ÓÒ»¸ö×Ô¶¨Ò庯ÊýOnKeyUp£º

1£© ÔÚLessonX.hÖÐÌí¼Ó¸Ãº¯ÊýµÄÉùÃ÷£º void OnKeyUp( const int iKey );

2£© ÔÚLessonX.cppÖÐÌí¼Ó¸Ãº¯ÊýµÄ¶¨Ò壺

void CGameMain::OnKeyUp( const int iKey ) { }

3£© Åжϰ´Ïµİ´¼ü¼üÖµ²¢ÉèÖÃËÙ¶ÈֵΪ0£¬ÔÚÉÏÃæµÄº¯ÊýÀïÃæÌí¼ÓÈçÏ´úÂ룺

float fSpeedX, fSpeedY; switch(iKey) {

case KEY_W: case KEY_A: case KEY_S: case KEY_D: fSpeedX = 0.f; fSpeedY = 0.f; } 4£© µ÷Óú¯ÊýÉèÖÃÓãµÄËÙ¶È£º

m_pMyFish->SetSpriteLinearVelocity(fSpeedX, fSpeedY);

5£© ÔÚMain.cppÖÐOnKeyUpº¯ÊýÀïÃæÌí¼Ó¶Ô¸Ã×Ô¶¨Ò庯ÊýµÄµ÷Ó㺠g_GameMain.OnKeyUp(iKey);

ʵÑéÆß¼üÅÌ¿ØÖÆÓãµÄͼƬ·­×ª

¡¾ÊµÑéÄÚÈÝ¡¿

²½Öè¡¢ÏìӦϵͳ°´¼üÏûϢʹÓãÓζ¯£¬Í¬Ê±Èç¹ûÍù·´·½ÏòÓÎÔò·­×ªÓãµÄͼƬ

¡¾ÊµÑé˼·¡¿

¶¨ÒåËĸö±äÁ¿m_fSpeedLeft¡¢m_fSpeedRight¡¢m_fSpeedTop¡¢m_fSpeedBottom±íʾÓãÍùËĸö·½ÏòÓζ¯µÄËÙ¶È£¬Òò´ËÖ»Òª¿ØÖÆÕâËĸö±äÁ¿µÄÕý¸º¾Í¿ÉÒÔ¿ØÖÆÓãµÄÓζ¯ÁË£¬Í¬Ê±Åжϰ´¼ü°´ÏÂÁË·´·½ÏòµÄ¼üֵʱ¾Í·­×ªÓãµÄͼ¡£ÀýÈçµ±°´ÏÂAʹÓãÍù×óÓζ¯£¬Èç¹û´Ëʱ°´ÏÂDÔò½«Ó㷭תÍùÓÒÓΡ£

¡¾ÊµÑéÖ¸µ¼¡¿

1¡¢ ÔÚLessonX.hÖÐÌí¼ÓÈçϱäÁ¿ÉùÃ÷£º

float m_fSpeedLeft ;// Óã4¸ö·½ÏòµÄËÙ¶È float m_fSpeedRight ;

float m_fSpeedTop ; float m_fSpeedBottom ;

2¡¢ ÔÚLessonX.cppÖеĹ¹Ô캯ÊýÀïÃæÌí¼ÓÒÔÉϱäÁ¿µÄ³õʼ»¯´úÂ룺

m_fSpeedBottom= 0.f; m_fSpeedLeft= 0.f; m_fSpeedRight= 0.f; m_fSpeedTop= 0.f;

3¡¢ Åжϰ´ÏµļüÖµ£¬·ÖÇé¿ö´¦ÀíÓëµÄËÙ¶È£¬ÔÚOnKeyDownÖн«Ô­À´µÄ´úÂë×¢Ê͵ô£¬

ͬʱÌí¼ÓÒÔÏ´úÂ룺

1£© ¸ù¾Ý²»Í¬¼üÖµÉèÖÃÓ㲻ͬµÄËÙ¶È£º

switch(iKey) {

case KEY_W: m_fSpeedTop = -10.f; break; case KEY_A: m_fSpeedLeft = -15.f; break; case KEY_S: m_fSpeedBottom = 10.f; break; case KEY_D: m_fSpeedRight = 15.f; break; }

2£© ÒòΪÿ´Î¼üֵת»»µÄʱºòÓã»áÍ£Ö¹ÏÂÀ´£¬¼´ËÙ¶ÈΪ0£¬´Ëʱ¸ù¾Ý°´¼üÖØÐ¸øÓ㸳еÄËÙ¶È£¬ËùÒÔ´ËʱֻҪÅжÏm_fSpeedLeft + m_fSpeedRightÓë0µÄ´óС¾Í¿ÉÒÔ¾ö¶¨ÊÇ·ñ·­×ªÍ¼Æ¬ÁË¡£

if((m_fSpeedLeft + m_fSpeedRight) > 0) m_pMyFish->SetSpriteFlipX( false); else if((m_fSpeedLeft + m_fSpeedRight) < 0) m_pMyFish->SetSpriteFlipX( true); 3£© ×îºó¸øÓãÉèÖÃËÙ¶È£º

m_pMyFish->SetSpriteLinearVelocity( m_fSpeedLeft + m_fSpeedRight, m_fSpeedTop + m_fSpeedBottom);

4¡¢ ÅжÏÊͷŵļüÖµ£¬½«ÓãËùÓз½ÏòµÄËÙ¶ÈÉèÖÃΪ0£¬ÔÚOnKeyUpÖн«Ô­À´µÄ´úÂë×¢ÊÍ

µô£¬Í¬Ê±Ìí¼ÓÒÔÏ´úÂ룺

1£© ½«ÓãËùÓз½ÏòËÙ¶ÈÉèÖÃΪ0

switch(iKey) {

case KEY_W: m_fSpeedTop = 0.f; break;

}

case KEY_A: m_fSpeedLeft = 0.f; break; case KEY_S: m_fSpeedBottom = 0.f; break; case KEY_D: m_fSpeedRight = 0.f; break;

2£© ÓÉÓÚÍæ¼Ò¿ÉÄÜÊÍ·ÅÁË·ÇWASDÖеÄÒ»¸ö¼ü£¬Òò´ËÕâÀïͬÑùÐèÒªÔÙ´ÎÅжÏm_fSpeedLeft + m_fSpeedRightµÄÖµ£»À´¾ö¶¨ÊÇ·ñ·­×ªÓãµÄͼƬ

if((m_fSpeedLeft + m_fSpeedRight) > 0) m_pMyFish->SetSpriteFlipX( false); else if((m_fSpeedLeft + m_fSpeedRight) < 0) m_pMyFish->SetSpriteFlipX( true); 3£© ×îºó¸øÓãÉèÖÃËÙ¶È£º

m_pMyFish->SetSpriteLinearVelocity( m_fSpeedTop + m_fSpeedBottom);

m_fSpeedLeft

+

m_fSpeedRight,

ʵÑé°Ë·â×°¼üÅÌ¿ØÖÆÓãÓζ¯µÄ´úÂë

¡¾ÊµÑéÄÚÈÝ¡¿

²½Öè¡¢½«¼üÅÌ¿ØÖÆÓãÓζ¯µÄ¶¯×÷¶ÀÁ¢Ð´³ÉÒ»¸öº¯Êý

¡¾ÊµÑé˼·¡¿

ÀàÖжà¸öº¯ÊýÖд¦ÀíÁ˼üÅÌ¿ØÖÆÓãÓζ¯µÄ´úÂ룬Òò´Ë¿ÉÒÔ½«Æäд³ÉÒ»¸öº¯Êý¹©ÆäËûº¯Êýµ÷Óá£

¡¾ÊµÑéÖ¸µ¼¡¿

1¡¢ Ìí¼ÓÒ»¸ö×Ô¶¨Ò庯ÊýSwimming´¦Àí¼üÅÌ¿ØÖÆÓãÓζ¯µÄ¶¯×÷¡£ÔÚLessonX.hÖÐÌí¼Ó¸Ã

º¯ÊýµÄÉùÃ÷£º void Swimming(); 2¡¢ ÔÚLessonX.cppÖÐÌí¼Ó¸Ãº¯ÊýµÄ¶¨Ò壺 void CGameMain::Swimming() { }

3¡¢ ×îºó´¦Àí¼üÅÌÅжÏÓãÊÇ·ñ·­×ªÒÔ¼°¸³¸øÓãËٶȵ͝×÷£¬ÔÚÉÏÃæµÄ¶¨ÒåÖÐÌí¼ÓÈçÏ´ú

Â룺 if((m_fSpeedLeft + m_fSpeedRight) > 0)

m_pMyFish->SetSpriteFlipX(false);

else if((m_fSpeedLeft + m_fSpeedRight) < 0)

m_pMyFish->SetSpriteFlipX(true);

m_pMyFish->SetSpriteLinearVelocity( m_fSpeedLeft + m_fSpeedRight, m_fSpeedTop +

m_fSpeedBottom);

4¡¢ ×îºó½«OnKeyDownºÍOnKeyUpº¯ÊýÖеÄÈçÏ´úÂë×¢ÊͲ¢Ìí¼ÓSwimmingº¯ÊýµÄµ÷

ÓôúÂë:

1£© ×¢Ê͵ôÒÔÏ´úÂ룺

if((m_fSpeedLeft + m_fSpeedRight) > 0) m_pMyFish->SetSpriteFlipX(false); else if((m_fSpeedLeft + m_fSpeedRight) < 0) m_pMyFish->SetSpriteFlipX(true);

m_pMyFish->SetSpriteLinearVelocity( m_fSpeedTop + m_fSpeedBottom); 2£© Ìí¼ÓSwimmingº¯Êýµ÷ÓÃ

Swimming(); ÖÁ´Ë£¬±¾ÊµÑé½áÊø¡£

m_fSpeedLeft + m_fSpeedRight,

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)