⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xiyou.java

📁 HappyTreeFriends手机游戏的源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                                }

                           // DrawMapFast(s_jingtouX, s_jingtouY);
                           s_g.setClip(0, 0 , PINGMUDDD.sssCHUANNN_WIDTH , PINGMUDDD.sssCHUANNN_HEIGHT);
				s_g.drawImage(s_menuBg , 0 , 0 , 0);	
			
	                     drawSelectListBg(s_g, PINGMUDDD.sssCHUANNN_WIDTH  >> 1, MENU_MAIN_CENTER_Y, 6, s_selectedIndex , DWorld.STR_ID_MAIN_MENU_0, 0);

             //drawbuttons
				DrawButtons(false ,false);
							
		//preferm key event

				if (IsKeyPressed(GK_DOWN) )
                            {
			                	
			                    if (s_selectedIndex == s_beginIndex + MAINMENU_LEN_SHOW - 1)
			                    {
			                        if (s_beginIndex == MAINMENU_LEN - MAINMENU_LEN_SHOW)
			                        {
			                            s_beginIndex = 0;
			                        }
			                        else
			                        {
			                            s_beginIndex++;
			                        }
			                    }
		
			                    s_selectedIndex = changeValueLoop( ++s_selectedIndex , MAINMENU_LEN );
			                
			                    s_updateMenu = true;

					      
		                         	 
			                  

			        }
			        else if (IsKeyPressed(GK_UP) )
			        {
			  

			                    if (s_selectedIndex == s_beginIndex)
			                    {
			                        if (s_beginIndex == 0)
			                        {
			                            s_beginIndex = MAINMENU_LEN - MAINMENU_LEN_SHOW;
			                        }
			                        else
			                        {
			                            s_beginIndex--;
			                        }
			                    }
		
		                    s_selectedIndex = changeValueLoop( --s_selectedIndex , MAINMENU_LEN );
		                   
		                    s_updateMenu = true;

					
		             

		                }
				 else if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
		                {
		                    
		                    s_lastMainMenuSelect = s_selectedIndex;
					s_lastBeginIndex = s_beginIndex;		

		                     if( s_selectedIndex == 0 )
		                    {
		                            SaveOrLoad(false);
						if(Jiaose.s_levelSaved >= TOTAL_LEVEL)			
							Jiaose.s_level = TOTAL_LEVEL - 1;
						else	
							Jiaose.s_level = Jiaose.s_levelSaved;			
 									
					       SetGameStatus(DGameStatus.GS_LOAD_GAME_RES);
		                    }
						 
		                    else if( s_selectedIndex == 1 )
		                    {
		                     	
                                          
		                            //SaveOrLoad(false);
                                          
                                          SetMenuStatus(MS_CHOOSE_UNLOCK_LEVEL );
										  

						
		                    }

		                    else if( s_selectedIndex == 2 )
		                    {
		                      	SetMenuStatus(MS_OPTION);
 
		                    }
		                    else if( s_selectedIndex == 3)
		                    {
		                    		SaveOrLoad(false);
		                            SetMenuStatus(MS_HIGHSCORE);
		                    		
		                    }
		                    else if( s_selectedIndex == 4 )
		                    {
		                    		SetMenuStatus(MS_HELP );
		                        
		                    }
		                    else if( s_selectedIndex == 5 )
		                    {
		                    		SetMenuStatus(MS_ABOUT);
		                        
		                    }
		                    else if( s_selectedIndex == MAINMENU_LEN-1 )
		                    {
		                        SetMenuStatus(MS_CONFIRM);
		                      
		                    }
		                }
				break;

			case MS_CHOOSE_UNLOCK_LEVEL:
				DrawMenuBg(GetString(DWorld.STR_ID_SELECT));
				s_g.setColor(COLOR_BLUE_WALL);
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_OPTION_BG_Y + 5 + MS_BOX_OFFSET_Y  ,GER_MENU_W, MS_UNLOCK_H, 10, 10);
/*				
                            for(int i = s_beginIndex; i < s_beginIndex + SHOW_LEVEL ; i++)
				drawImageString(s_g, s_menuStrings[DWorld.STR_ID_LEVEL - DWorld.STR_ID_MAIN_MENU_0 ] + "  " + (i / 3 + 1) + " - " + (i % 3 + 1) ,
        	           		60, MS_OPTION_BG_Y + 10 + 30 + (i - s_beginIndex) * 16, FONT_MINI, IMG_FONT_LEFT,
        	          		 1);
 //*/       	          		 

                            for(int i = s_beginIndex; i < s_beginIndex + SHOW_LEVEL ; i++)
				drawImageString(s_g, GetString(DWorld.STR_ID_LEVEL) + " " +(i / 3 + 1) + " -" + (i % 3 + 1) ,
        	           		MS_UNLOCK_LEFT, MS_UNLOCK_TOP + (i - s_beginIndex) * UNLOCK_LEVEL_LINE_H, FONT_HUGE, IMG_FONT_LEFT,
        	          		  i  >  Jiaose.s_level?1: 0);
//*/
                            DrawArrow(MS_UNLOCK_ARROW_LEFT , MS_UNLOCK_TOP + (s_selectedIndex) * UNLOCK_LEVEL_LINE_H , ARROW_INDICATOR , true);
				
                            DrawButtons(true ,false);	

				if (IsKeyPressed(GK_DOWN) )
                            {
			                    
					if(s_selectedIndex < SHOW_LEVEL - 1) 
                                            {
                                     	  	s_selectedIndex++;
                                            }
                                            else
                                            {
                                                	 if (s_beginIndex < TOTAL_LEVEL - SHOW_LEVEL)
                                                 {

                                                      s_beginIndex++;
                                                	}

                                            }
			                    
			                
			                    s_updateMenu = true;

			        }
			        else if (IsKeyPressed(GK_UP) )
			        {
			  
		                    if (s_selectedIndex > 0)
		                    {
		                        s_selectedIndex--;
		                    }
		                    else 
		                    {
		                        if(s_beginIndex > 0)
		                        {
		                            s_beginIndex--;
		                        }
		                    }

		                    s_updateMenu = true;            

		                }
				if (IsKeyPressed(GK_SOFT_LEFT) )
					{
						SetMenuStatus(MS_MAINMENU);
						Jiaose.s_level  = 0;
					}
				else if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
					{
					       if(s_selectedIndex + s_beginIndex <= Jiaose.s_levelSaved )
					       	{
					       		Jiaose.s_level  = s_selectedIndex + s_beginIndex;
								SetGameStatus(DGameStatus.GS_LOAD_GAME_RES);
					       	}
						
					}
							
				break;

				
			case MS_OPTION:
				DrawMenuBg(GetString(DWorld.STR_ID_MAIN_MENU_2));
				
				
                            s_g.setColor(COLOR_BLUE_WALL);
//blue bg
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_OPTION_BG_Y + 5 + MS_BOX_OFFSET_Y  , GER_MENU_W, MS_OPTION_RECT_H, 10, 10);
                            s_g.setColor(0x00FF00);
				s_g.drawRoundRect( MS_OPTION_BG_X + MS_OPTION_IMG_OFFSET_X  , MS_OPTION_BG_Y + 8 + MS_BOX_OFFSET_Y + (MS_OPTION_ITEM_OFFSET_Y + MS_OPTION_TWO_RECT_SPACE) * s_selectedIndex  ,MS_OPTION_IMG_H, 8, 10, 10);	
				
				drawImageString(s_g, GetString(DWorld.STR_ID_SOUND),
        	           MS_OPTION_BG_X + MS_OPTION_SOUND_OFFSET_X, MS_OPTION_BG_Y + 5+ MS_OPTION_SOUND_OFFSET_Y, FONT_MINI, IMG_FONT_LEFT,
        	           1);

				drawImageString(s_g, GetString(DWorld.STR_ID_ON + (s_soundOn ? 0 : 1)),
        	           MS_OPTION_BG_X + MS_OPTION_SOUND_ON_OFFSET_X, MS_OPTION_BG_Y + 5 + MS_OPTION_SOUND_OFFSET_Y, FONT_MINI, IMG_FONT_CENTER,
        	             1);
//option
				drawImageString(s_g, GetString(DWorld.STR_ID_VIBRATION),
        	           MS_OPTION_BG_X + MS_OPTION_VIB_OFFSET_X, MS_OPTION_BG_Y + 5 +  MS_OPTION_VIB_OFFSET_Y, FONT_MINI, IMG_FONT_LEFT,
        	            1);

				drawImageString(s_g, GetString(DWorld.STR_ID_ON + (s_vibrationOn ? 0 : 1) ),
        	           MS_OPTION_BG_X + MS_OPTION_VIB_ON_OFFSET_X, MS_OPTION_BG_Y + 5 + MS_OPTION_VIB_OFFSET_Y, FONT_MINI, IMG_FONT_CENTER,
        	            1);


//draw image


 
				DrawButtons(true ,false);		   
			      changeSelect(2);
				  
				if (IsKeyPressed(GK_SOFT_LEFT) )
					{
						SetMenuStatus(MS_MAINMENU);
					}
				else if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
					{
						if(s_selectedIndex == 0)
					  	{
					  		s_soundOn =! s_soundOn;
							
					  	}
					       else if(s_selectedIndex == 1)
					  	{
					  		s_vibrationOn = !s_vibrationOn;
							Librate(false , 1000);
					  	}
					}
				break;	

				
			case MS_ABOUT:
				DrawMenuBg(GetString(DWorld.STR_ID_MAIN_MENU_5));
				s_g.setColor(COLOR_BLUE_WALL);
//blue bg
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_ABOUT_CLIP_TOP  ,GER_MENU_W, MS_ABOUT_CLIP_H + 8, 10, 10);

				int lenABOUT = drawStringLines(GetString(DWorld.STR_ID_ABOUT) , PINGMUDDD.sssCHUANNN_WIDTH >> 1  , s_scrollY , CHAR_H[FONT_MINI] + 3 , IMAGE_STR , IMG_FONT_CENTER);

				s_scrollY -=2;
				if(s_scrollY + lenABOUT * (CHAR_H[FONT_MINI] + 3)< MS_ABOUT_CLIP_TOP) 
					{
						 s_scrollY = MS_ABOUT_CLIP_TOP + MS_ABOUT_CLIP_H ;
					}
				
                            DrawButtons(true ,false);		   
				if (IsKeyPressed(GK_A | GK_SOFT_RIGHT |GK_SOFT_LEFT) )
					{
						SetMenuStatus(MS_MAINMENU);
					}
				break;

				
			case MS_HELP:
				DrawMenuBg(GetString(DWorld.STR_ID_MAIN_MENU_4));
				s_g.setColor(COLOR_BLUE_WALL);

//blue bg
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_ABOUT_CLIP_TOP  ,GER_MENU_W, MS_ABOUT_CLIP_H + 8, 10, 10);

				int len = drawStringLines(GetString(DWorld.STR_ID_HELP) , PINGMUDDD.sssCHUANNN_WIDTH >> 1  , s_scrollY , CHAR_H[FONT_MINI] + 3 , IMAGE_STR , IMG_FONT_CENTER);
				if (IsKeyPressed(GK_DOWN) )
					{
					       if(s_scrollY + len * (CHAR_H[FONT_MINI] + 3) > MS_ABOUT_CLIP_TOP + MS_ABOUT_CLIP_H - CHAR_H[FONT_MINI] + 3)
					       	{
					       		s_scrollY -= CHAR_H[FONT_MINI] + 3 ;
					       	}
						
					}
				else if (IsKeyPressed(GK_UP) )
					{
					       if(s_scrollY < MS_ABOUT_CLIP_TOP)
					       	{
					       		s_scrollY += CHAR_H[FONT_MINI] + 3 ;
					       	}
						
					}
				if(s_scrollY + len * (CHAR_H[FONT_MINI] + 3)< MS_ABOUT_CLIP_TOP) 
					{
						 s_scrollY = MS_ABOUT_CLIP_TOP + MS_ABOUT_CLIP_H ;
					}

				DrawButtons(true ,false);		   			
				if (IsKeyPressed(GK_A | GK_SOFT_RIGHT|GK_SOFT_LEFT) )
					{
						SetMenuStatus(MS_MAINMENU);
					}
				break;

				
			case MS_HIGHSCORE:
				DrawMenuBg(GetString(DWorld.STR_ID_MAIN_MENU_3));
				s_g.setColor(COLOR_BLUE_WALL);

//blue bg
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_OPTION_BG_Y + 5 + MS_BOX_OFFSET_Y  ,GER_MENU_W, HIGH_SCORE_H, 10, 10);
//RESET
				s_g.fillRoundRect( RESET_X ,   RESET_Y , RESET_W, RESET_H, 10, 10);
				drawImageString(s_g, GetString(DWorld.STR_ID_RESET),
        	           RESET_X + 2, RESET_Y + 3, FONT_HUGE, IMG_FONT_LEFT,
        	           0);



			     for(int i = s_beginIndex ; i < s_beginIndex +  NAME_SHOW ; i++)
                          	{
                          	        String name = null;
                          	        if(s_scores[i] == 0)
                          	        	{
                          	        		name = "" + (i + 1);
											
                          	        	}
					else
						{
							name = "" + (i + 1) + "  " + s_names[i];
							drawImageString(s_g,  "" + s_scores[i],
        	           		HIGH_SCORE_SCORE_LEFT, MS_OPTION_BG_Y + 10 + MS_BOX_OFFSET_Y + (i -s_beginIndex)  * HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_RIGHT,
        	          		 1);
						}
                          		drawImageString(s_g,  name,
        	           		HIGH_SCORE_NAME_LEFT, MS_OPTION_BG_Y + 10 + MS_BOX_OFFSET_Y +  (i -s_beginIndex)* HIGH_SCORE_STEP_LINE, FONT_MINI, IMG_FONT_LEFT,
        	          		 1);
                          	}

				 if (IsKeyPressed( GK_UP) )
				 	{

                                          s_beginIndex = changeValueLoop( --s_beginIndex , NAME_NUM - NAME_SHOW + 1 );					

				 	}
				 else  if (IsKeyPressed(GK_DOWN) )
				 	{
				 		 s_beginIndex = changeValueLoop( ++s_beginIndex , NAME_NUM - NAME_SHOW + 1 );		
				 	}
				DrawButtons(true ,false);		   
				if (IsKeyPressed(GK_SOFT_LEFT) )
					{
						SetMenuStatus(MS_MAINMENU);
					}
				else if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
					{
					     
					       		for(int i = 0;i < NAME_NUM ; i++ )
					  	       	{
					  	       		s_names[i] = "";
									s_scores[i] = 0;
					  	       	}
								SaveOrLoad(true);
					       	
						
					}
				break;


				
			case MS_CONFIRM:
                           DrawMenuBg(GetString(DWorld.STR_ID_MAIN_MENU_6));
				s_g.setColor(COLOR_BLUE_WALL);


//blue bg
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - GER_MENU_W>> 1 , MS_CONFIRM_Y  ,MS_CONFIRM_YN_W, MS_CONFIRM_YN_H ,10, 10);
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH  + 10>> 1 , MS_CONFIRM_Y  ,MS_CONFIRM_YN_W, MS_CONFIRM_YN_H, 10, 10);

				drawImageString(s_g, GetString(DWorld.STR_ID_YES),
        	           PINGMUDDD.sssCHUANNN_WIDTH - MS_STRING_OFFSET_X>> 1, MS_CONFIRM_Y + MS_STRING_OFFSET_Y, FONT_HUGE, IMG_FONT_CENTER,
        	           s_selectedIndex == 0 ? 1 : 0);
				drawImageString(s_g, GetString(DWorld.STR_ID_NO),
        	           PINGMUDDD.sssCHUANNN_WIDTH + MS_STRING_OFFSET_X>> 1, MS_CONFIRM_Y + MS_STRING_OFFSET_Y, FONT_HUGE, IMG_FONT_CENTER,
        	           s_selectedIndex == 1 ? 1 : 0);

				DrawButtons(true ,false);		   
				 if (IsKeyPressed(GK_LEFT | GK_RIGHT) )s_selectedIndex = 1 - s_selectedIndex;	 

				if (IsKeyPressed(GK_SOFT_LEFT) )	
					{
						SetMenuStatus(MS_MAINMENU);
					}
				else if (IsKeyPressed(GK_A | GK_SOFT_RIGHT) )
					{
					       if(s_selectedIndex == 1)
					  	{
					  		SetMenuStatus(MS_MAINMENU);
					  	}
					       else if(s_selectedIndex == 0)
					  	{
					  		Quit();
					  	}
						
					}			
				changeSelect(2);
				break;



			case MS_ENTER_NAME:
				s_g.drawImage(s_menuBg2 , 0 , 0 , 0);	
								s_g.setColor(COLOR_YELLOW_BG);
				s_g.fillRoundRect( MS_OPTION_BG_X , MS_OPTION_BG_Y, MS_OPTION_BG_W, MS_OPTION_BG_H, MS_OPTION_BG_ARC_W, MS_OPTION_BG_ARC_W);

				s_g.setColor(COLOR_BLUE_WALL);
//text about bg				
				s_g.fillRoundRect( PINGMUDDD.sssCHUANNN_WIDTH - 100 >> 1 , MS_OPTION_BG_Y + 5 ,100, 20, 10, 10);
                            drawImageString(s_g, GetString(DWorld.STR_ID_ENTER_NAME),
        	           PINGMUDDD.sssCHUANNN_WIDTH >> 1, MS_OPTION_BG_Y + 9, FONT_HUGE, IMG_FONT_CENTER,
        	           0);


				for(int i = 0 ; i < 28 ; i++)
					{
					        if(i == 26)
					        	{
					        	        s_g.setClip(MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 7, MS_OPTION_BG_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP, 11, 12);
                                                         s_g.drawImage(s_menuArrow , MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * 14 - 8 , MS_OPTION_BG_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 32 , 0);
					        	 	continue;
					        	}
						if(i == 27)
					        	{
					        	        s_g.setClip(MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 7, MS_OPTION_BG_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP , 17, 18);
                                                         s_g.drawImage(s_menuArrow , MS_CHAR_OFFSET_X + (i % MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 39 - 7 , MS_OPTION_BG_Y + MS_CHAR_OFFSET_Y + (i / MS_CHAR_NUM_LINE) * MS_CHAR_STEP - 68 , 0);
					        	 	break;
					        	}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -