2012-04-23 5 views
0

私はcocos2dゲーム開発の初心者で、Cocos2d SDK Androidを使用して50%のゲームを開発しました。ユーザーが3回以上一定レベルのゲームをプレイするとスタックします私のアプリを評価するGoogleの再生URLに彼をリダイレクトするが、私はクラスで行ったように私はWebページを開くことができないので、これを行うことはできません。私はすべての場所を検索しかし、そのような助けが私の原因。アンドロイド:クラスでWebページを開く方法

Intent in = new Intent(Intent.ACTION_VIEW, Uri.parse("url")); 
       startActivity(in); 

私のクラスCCLayerがある拡張:

public class GameLayer extends CCLayer { 
    public int count=0; 
    public enum GAME_STATE { 
     GS_PLAY, 
     GS_PAUSE, 
     GS_GAMEOVER 
     }; 

    public CCSprite background; 
    public CCSprite road; 

    public ArrayList<CCSprite> backArray; 
    public ArrayList<CCSprite> frontArray; 

    public ArrayList<CCSprite> sunArray; 
    public ArrayList<CCSprite> bloodArray; 

    public CCSprite die; 
    public CCSprite hit; 
    public CCSprite smoke; 
    public CCSprite blood; 

    public CCLabel lbScore; 
    public CCMenuItemToggle btPause; 
    public CCMenuItemImage btMainMenu; 
    public CCMenuItemImage btRetry; 

    public Player player; 

    public float score; 
    public CCSprite scores; 
    public CCLabel lbDistance; 
    // public CCLabel lbnotifi; 
    public CCLabel lbCurrentScore; 
    public CCLabel lbPersonalBest; 
    public CCLabel lbBestScore; 

    public GAME_STATE state; 

    public float POS_X_PREV_SOUND = (G.rwidth/3); 
    public float POS_Y_PREV_SOUND = (G.rheight * 5/7); 

    public float POS_X_NEXT_SOUND = (G.rwidth/3 * 2); 
    public float POS_Y_NEXT_SMOKE = (G.rheight * 4/7); 

    public CGPoint curDiePos; 


    public GameLayer() 
    { 
     backArray = new ArrayList<CCSprite>(); 
     frontArray = new ArrayList<CCSprite>(); 
     sunArray = new ArrayList<CCSprite>(); 
     bloodArray = new ArrayList<CCSprite>(); 

     this.setIsTouchEnabled(true); 

     background = CCSprite.sprite("background/back_ipad.png", CGRect.make(0, 0, 1024, 768)); 
     background.setPosition(G.rwidth/2, G.rheight/2); 
     background.setScaleX(G.rX); 
     background.setScaleY(G.rY); 
     addChild(background); 

     CCSprite sp = CCSprite.sprite("background/back_ipad.png", CGRect.make(0, 846, 1024, 178)); 
     sp.setPosition(G.rwidth/2, sp.getContentSize().height/2 * G.rY); 
     sp.setScaleX(G.rX); 
     sp.setScaleY(G.rY); 
     addChild(sp); 
     backArray.add(sp); 

     sp = CCSprite.sprite("background/back_ipad.png", CGRect.make(0, 846, 1024, 178)); 
     sp.setPosition(G.rwidth * 3/2, sp.getContentSize().height/2 * G.rY); 
     sp.setScaleX(G.rX); 
     sp.setScaleY(G.rY); 
     addChild(sp); 
     backArray.add(sp); 

     sp = CCSprite.sprite("background/front_mountion_ipad.png"); 
     sp.setPosition(G.rwidth/2, sp.getContentSize().height/2 * G.rY); 
     sp.setScaleX(G.rX); 
     sp.setScaleY(G.rY); 
     addChild(sp); 
     frontArray.add(sp); 

     sp = CCSprite.sprite("background/front_mountion_ipad.png"); 
     sp.setPosition(G.rwidth * 3/2, sp.getContentSize().height/2 * G.rY); 
     sp.setScaleX(G.rX); 
     sp.setScaleY(G.rY); 
     addChild(sp); 
     frontArray.add(sp); 

     road = CCSprite.sprite("background/back_ipad.png", CGRect.make(0, 768, 1024, 24)); 
     road.setAnchorPoint(0.5f, 1); 
     road.setPosition(G.rwidth/2, G.LOAD_HEIGHT); 
     road.setScaleX(G.rX); 
     road.setScaleY(G.rY); 
     addChild(road); 

     lbScore = CCLabel.makeLabel("0", "arial", 30); 
     lbScore.setScale(G.rX); 
     lbScore.setPosition(G.rwidth - 70 * G.rX, G.rheight - 70 * G.rY); 
     lbScore.setColor(new ccColor3B(0, 0, 0)); 
     addChild(lbScore); 

     btPause = CCMenuItemToggle.item(this, "selPause", 
             CCMenuItemImage.item("object/bt_pause.png", "object/bt_pause.png"), 
             CCMenuItemImage.item("object/bt_right01.png", "object/bt_right02.png")); 
     btPause.setScale(G.rX); 
     btPause.setPosition(70 * G.rX, G.rheight - 70 * G.rY); 

     btMainMenu = CCMenuItemImage.item("object/bt_main01.png", "object/bt_main02.png", this, "selMainMenu"); 
     btMainMenu.setScale(G.rX); 
     btMainMenu.setPosition(G.rwidth/4, G.rheight/4); 

     btRetry = CCMenuItemImage.item("object/bt_retry01.png", "object/bt_retry02.png", this, "selRetry"); 
     btRetry.setScale(G.rX); 
     btRetry.setPosition(G.rwidth * 3/4, G.rheight/4); 

     CCMenu menu = CCMenu.menu(btPause, btMainMenu, btRetry); 
     menu.setPosition(0, 0); 
     addChild(menu, 5); 

     player = new Player(); 
     player.setPosition(G.PLAYER_POS, G.LOAD_HEIGHT); 
     addChild(player, 5); 

     smoke = CCSprite.sprite("smoke/smoke_000.png"); 
     smoke.setAnchorPoint(0.5f, 0); 
     smoke.setScale(G.rX); 
     smoke.setPosition(player.getPosition()); 
     addChild(smoke); 
     CCTextureCache.sharedTextureCache().removeTexture(smoke.getTexture()); 

     hit = CCSprite.sprite("object/c0001.png"); 
     hit.setAnchorPoint(0.5f, 0.5f); 
     hit.setScale(G.rX); 
     hit.setPosition(CGPoint.ccpAdd(player.getPosition(), 
       CGPoint.ccp(player.spRun.getContentSize().width/2 * G.rX, 
         player.spRun.getContentSize().height/2 * G.rX))); 
     addChild(hit); 
     CCTextureCache.sharedTextureCache().removeTexture(hit.getTexture()); 

     blood = CCSprite.sprite("object/blood_000.png"); 
     blood.setScale(G.rX); 
     blood.setPosition(0, 0); 
     addChild(blood); 
     CCTextureCache.sharedTextureCache().removeTexture(blood.getTexture()); 

     die = CCSprite.sprite("object/tombstone00.png"); 
     die.setAnchorPoint(0.5f, 0); 
     die.setScale(G.rX); 
     die.setPosition(player.getPosition());  
     addChild(die); 
     CCTextureCache.sharedTextureCache().removeTexture(die.getTexture()); 

     scores = CCSprite.sprite("object/t_score.png"); 
     scores.setScale(G.rX); 
     scores.setPosition(G.rwidth/2, 670 * G.rY); 
     addChild(scores); 

     lbDistance = CCLabel.makeLabel("Distance:", CGSize.make(G.rwidth, 150*G.rY), TextAlignment.LEFT, "arial", 35); 
     lbDistance.setAnchorPoint(0, 0.5f); 
     lbDistance.setScale(G.rX); 
     lbDistance.setPosition(POS_X_PREV_SOUND, POS_Y_PREV_SOUND); 
     ccColor3B col = new ccColor3B(0, 90, 0); 
     lbDistance.setColor(col); 
     addChild(lbDistance); 

//   
//  lbnotifi = CCLabel.makeLabel("Distance:", CGSize.make(G.rwidth, 150*G.rY), TextAlignment.LEFT, "arial", 35); 
//  lbnotifi.setAnchorPoint(0, 0.5f); 
//  lbnotifi.setScale(G.rX); 
//  lbnotifi.setPosition(POS_X_PREV_SOUND, POS_Y_PREV_SOUND); 
//  ccColor3B col1 = new ccColor3B(0, 90, 0); 
//  lbDistance.setColor(col1); 
//  // addChild(lbDistance); 


     lbCurrentScore = CCLabel.makeLabel("0", CGSize.make(200*G.rX, 150*G.rY), TextAlignment.RIGHT, "arial", 35); 
     lbCurrentScore.setScale(G.rX); 
     lbCurrentScore.setPosition(POS_X_NEXT_SOUND, POS_Y_PREV_SOUND); 
     lbCurrentScore.setColor(col); 
     addChild(lbCurrentScore); 

     lbPersonalBest = CCLabel.makeLabel("Your Best Run:", CGSize.make(G.rwidth, 150*G.rY), TextAlignment.LEFT, "arial", 35); 
     lbPersonalBest.setAnchorPoint(0, 0.5f); 
     lbPersonalBest.setScale(G.rX); 
     lbPersonalBest.setPosition(POS_X_PREV_SOUND, POS_Y_NEXT_SMOKE); 
     lbPersonalBest.setColor(col); 
     addChild(lbPersonalBest); 

     lbBestScore = CCLabel.makeLabel("0", CGSize.make(200*G.rX, 150*G.rY), TextAlignment.RIGHT, "arial", 35); 
     lbBestScore.setScale(G.rX); 
     lbBestScore.setPosition(POS_X_NEXT_SOUND, POS_Y_NEXT_SMOKE); 
     lbBestScore.setColor(col); 
     addChild(lbBestScore); 

     startGame(); 
    } 

    public CGRect sunRect(CCSprite sp) 
    { 
     CGRect rt; 
     CGSize sz = sp.getContentSize(); 
     sz.width = sz.width * G.rX; 
     sz.height = sz.height * G.rY; 

     rt = CGRect.make(sp.getPosition().x, sp.getPosition().y, sz.width, sz.height); 

     return rt; 
    } 

    public void loadBloods() 
    { 
     if (bloodArray != null) { 
      int arrayCount = bloodArray.size(); 

      if (arrayCount > 0) { 
       for (int i = 0; i < arrayCount; i++) 
       { 
        CCSprite spBlood = bloodArray.get(i); 
        removeSprite(spBlood); 
       } 
      } 
      bloodArray.clear(); 
     } 

     CCSprite sp; 

     for (int i = 0; G.DATA_BLOOD[i][0] != 0; i ++) { 
      int imageNum = (int) G.DATA_BLOOD[i][1]; 
      sp = CCSprite.sprite(G.IMG_BLOOD[ imageNum ]); 
      sp.setScale(G.rX); 
      sp.setAnchorPoint(0, 1); 
      sp.setPosition(G.DATA_BLOOD[i][0] * G.rX, G.LOAD_HEIGHT); 
      addChild(sp); 
      bloodArray.add(sp); 
     } 
    } 

    public void loadSuns() 
    { 
     if (sunArray != null) { 
      int arrayCount = sunArray.size(); 

      if (arrayCount > 0) { 
       for (int i = 0; i < arrayCount; i++) 
       { 
        CCSprite sun = sunArray.get(i); 
        removeSprite(sun); 
       } 
      } 
      sunArray.clear(); 

     } 

     CCSprite sp; 


    } 

    public void updateScore() 
    { 
     lbScore.setString(String.format("%d", (int)score)); 
    } 

    public void initPlayer() 
    { 
     player.state = PLAYER_STATE.PS_RUN; 
     player.spRun.setVisible(true); 
     player.spJump.setVisible(false); 
     player.spDown.setVisible(false); 
     player.runBlood.setVisible(false); 

     player.timeStateUpdate(PLAYER_STATE.PS_RUN); 
     player.startRunAnimation(); 
     player.setVisible(true); 
    } 

    public void startGame() 
    { 
     state = GAME_STATE.GS_PLAY; 
     score = 0; 
     updateScore();  

     btMainMenu.setVisible(false); 
     btRetry.setVisible(false); 
     scores.setVisible(false); 
     lbDistance.setVisible(false); 
     // lbnotifi.setVisible(false); 
     lbCurrentScore.setVisible(false); 
     lbPersonalBest.setVisible(false); 
     lbBestScore.setVisible(false); 
     lbScore.setVisible(true); 
     btPause.setVisible(true); 
     btPause.setSelectedIndex(0); 

     die.setVisible(false); 

     CCTexture2D texture = CCTextureCache.sharedTextureCache().addImage("object/tombstone00.png"); 
     if(texture != null) 
     { 
      die.setTexture(texture); 
     } 
     CCTextureCache.sharedTextureCache().removeTexture(die.getTexture()); 


     hit.setVisible(false); 
     hit.setOpacity(255); 
     texture = CCTextureCache.sharedTextureCache().addImage("object/c0001.png"); 
     if(texture != null) 
     { 
      hit.setTexture(texture); 
     } 
     CCTextureCache.sharedTextureCache().removeTexture(hit.getTexture()); 

     blood.setVisible(false); 
     texture = CCTextureCache.sharedTextureCache().addImage("object/blood_000.png"); 
     if(texture != null) 
     { 
      blood.setTexture(texture); 
     } 
     CCTextureCache.sharedTextureCache().removeTexture(blood.getTexture()); 

     smoke.stopAllActions(); 
     smoke.setVisible(false); 
     texture = CCTextureCache.sharedTextureCache().addImage("smoke/smoke_000.png"); 
     if(texture != null) 
     { 
      smoke.setTexture(texture); 
     } 
     CCTextureCache.sharedTextureCache().removeTexture(smoke.getTexture()); 


     loadSuns(); 
     if (G.g_gameInfo.isSmokeOn == true) 
     { 

      loadBloods(); 
     } 
     initPlayer(); 
     this.schedule("onTime", 0.02f); 

    } 

    public void selMainMenu() 
    { 
     G.sd_button.start(); 
     CCScene scene = CCScene.node(); 
     scene.addChild(new FirstScene(), 1); 
     CCDirector.sharedDirector().replaceScene(CCFadeTransition.transition(1.0f, scene)); 
    } 

    **public void selRetry() 
    { 
     count++; 
     G.sd_button.start(); 
     if(count==3) 
     { 

     } 
     if(count<3){ 
     startGame(); 
     } 
    }** 

    public void processMovingObjects(float dt) 
    { 
     float backDelta = G.VEL_BACK_MOVE * dt; 
     float frontDelta = G.VEL_FRONT_MOVE * dt; 
     float sunDelta = G.VEL_RUN * dt; 

     score += backDelta/2; 
     updateScore(); 

     for (int i = 0; i < backArray.size(); i++) 
     { 
      CCSprite sp = backArray.get(i); 
      if ((sp.getPosition().x + sp.getContentSize().width/2 * G.rX) < 0) 
      { 
       sp.setPosition(CGPoint.ccpAdd(sp.getPosition(), CGPoint.ccp(G.rwidth * 2, 0))); 
      } 

      sp.setPosition(CGPoint.ccpSub(sp.getPosition(), CGPoint.ccp(backDelta, 0))); 
     } 

     for (int i = 0; i < frontArray.size(); i++) 
     { 
      CCSprite sp = frontArray.get(i); 
      if ((sp.getPosition().x + sp.getContentSize().width/2 * G.rX) < 0) 
      { 
       sp.setPosition(CGPoint.ccpAdd(sp.getPosition(), CGPoint.ccp(G.rwidth * 2, 0))); 
      } 

      sp.setPosition(CGPoint.ccpSub(sp.getPosition(), CGPoint.ccp(frontDelta, 0))); 
     } 

     for (int i = 0; i < sunArray.size(); i++) 
     { 
      CCSprite sp = sunArray.get(i); 
      sp.setPosition(CGPoint.ccpSub(sp.getPosition(), CGPoint.ccp(sunDelta, 0))); 

      if ((sp.getPosition().x + sp.getContentSize().width/2 * G.rX) < 0) 
      { 
       sp.setPosition(CGPoint.ccpAdd(sp.getPosition(), CGPoint.ccp(G.rwidth * 5, 0))); 
      } 
     } 

     if (G.g_gameInfo.isSmokeOn == true) 
     { 

      for (int i = 0; i < bloodArray.size(); i++) 
      { 
       CCSprite sp = bloodArray.get(i); 
       sp.setPosition(CGPoint.ccpSub(sp.getPosition(), CGPoint.ccp(sunDelta, 0))); 

       if ((sp.getPosition().x + sp.getContentSize().width/2 * G.rX) < 0) 
       { 
        sp.setPosition(CGPoint.ccpAdd(sp.getPosition(), CGPoint.ccp(G.rwidth * 5, 0))); 
       } 
      } 

     } 
    } 

    public void selShowGmaeOverMenu() 
    { 
     btMainMenu.setVisible(true); 
     btRetry.setVisible(true); 
     scores.setVisible(true); 
     lbDistance.setVisible(true); 
     lbCurrentScore.setVisible(true); 
     lbPersonalBest.setVisible(true); 
     lbBestScore.setVisible(true); 

     int bestScore = 0; 
     switch (G.g_gameInfo.trackNum) 
     { 
      case 0: 
       bestScore = G.g_gameInfo.scoreTrack1; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack1 = bestScore; 
       break; 
      case 1: 
       bestScore = G.g_gameInfo.scoreTrack2; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack2 = bestScore; 

       break; 
      case 2: 
       bestScore = G.g_gameInfo.scoreTrack3; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack3 = bestScore; 

       break; 
      case 3: 
       bestScore = G.g_gameInfo.scoreTrack4; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack4 = bestScore; 

       break; 
      case 4: 
       bestScore = G.g_gameInfo.scoreTrack5; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack5 = bestScore; 

       break; 
      case 5: 
       bestScore = G.g_gameInfo.scoreTrack6; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack6 = bestScore; 

       break; 
      case 6: 
       bestScore = G.g_gameInfo.scoreTrack7; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack7 = bestScore; 

       break; 
      case 7: 
       bestScore = G.g_gameInfo.scoreTrack8; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack8 = bestScore; 
      case 8: 
       bestScore = G.g_gameInfo.scoreTrack9; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack9 = bestScore; 
      case 9: 
       bestScore = G.g_gameInfo.scoreTrack10; 
       if (bestScore < (int)score) { 
        bestScore = (int)score; 
       } 
       G.g_gameInfo.scoreTrack10 = bestScore; 

       break; 

      default: 
       break; 
     } 

     G.saveHistory(); 

     lbCurrentScore.setString(String.format("%d", (int)score)); 
     lbBestScore.setString(String.format("%d", bestScore)); 
    } 

    public void selShowDieAni() 
    { 
     G.sd_fire.start(); 

     die.runAction(G.ani_die); 
     die.setVisible(true); 
     die.setPosition(curDiePos.x, G.LOAD_HEIGHT); 

    } 

    public void selHideBlood() 
    { 
     blood.setVisible(false); 
    } 

    public void selEndSmoke() 
    { 
     smoke.setVisible(false); 
    } 

    public void gameOver() 
    { 
     G.sd_delay.start(); 

     state = GAME_STATE.GS_GAMEOVER; 

     btPause.setVisible(false); 
     lbScore.setVisible(false); 

     for (int i = 0; i < sunArray.size(); i++) 
     { 
      CCSprite sun = sunArray.get(i); 
      sun.stopAllActions(); 
     } 

     this.unschedule("onTime"); 
     player.stopRunAnimation(); 
     player.setVisible(false); 

//  CCSequence seqSmoke = CCSequence.actions(G.ani_smoke copy] autorelease], 
//        [CCCallFunc actionWithTarget:self selector:@selector(selEndSmoke)], nil]; 
     smoke.runAction(G.ani_smoke); 
     selEndSmoke(); 

     smoke.setVisible(true); 
     smoke.setPosition(curDiePos); 

     if (G.g_gameInfo.isSmokeOn == true) 
     { 
      blood.setVisible(true); 
      blood.setPosition(curDiePos.x, G.LOAD_HEIGHT + 23 * G.rX); 

//   CCSequence *seqBlood = [CCSequence actions:[[ani_blood copy] autorelease], 
//         [CCCallFunc actionWithTarget:self selector:@selector(selHideBlood)], nil]; 

      blood.runAction(G.ani_blood); 
      selHideBlood(); 

      CCSequence seq = CCSequence.actions(CCCallFunc.action(this, "selShowDieAni"), 
           CCCallFunc.action(this, "selShowGmaeOverMenu")); 

      this.runAction(seq); 
     } 
     else { 

      CCSequence seq = CCSequence.actions(CCFadeOut.action(0.3f), 
           CCCallFunc.action(this, "selShowDieAni"), 
           CCCallFunc.action(this, "selShowGmaeOverMenu")); 

      hit.runAction(G.ani_hit); 
      hit.runAction(seq); 
      hit.setVisible(true); 
      hit.setPosition(curDiePos.x, G.LOAD_HEIGHT + 23 * G.rX); 

     } 



    } 

    public void scanCollision() 
    { 
     CGRect rcPlayer = player.playerRect(); 

     for (int i = 0; i < sunArray.size(); i++) 
     { 
      CCSprite sun = sunArray.get(i); 
      CGRect rcSun = this.sunRect(sun); 

      if (CGRect.intersects(rcPlayer, rcSun)) 
      { 

       curDiePos = CGPoint.ccpAdd(sun.getPosition(), CGPoint.ccp(sun.getContentSize().width/2 * G.rX, 0)); 
       sun.setVisible(false); 

       gameOver(); 
       break; 
      } 
     } 

     if (G.g_gameInfo.isSmokeOn == true) 
     { 

      for (int i = 0; i < bloodArray.size(); i++) 
      { 
       CCSprite spBlood = bloodArray.get(i); 
       CGRect rcBlood = this.sunRect(spBlood); 

       if (player.getPosition().x > rcBlood.origin.x && player.getPosition().x < rcBlood.origin.x + rcBlood.size.width) 
       { 
        player.actionRunBlood(); 
       } 
      } 

     } 
    } 

    public void onTime(float dt) 
    { 
     if(dt > 0.02f) 
      dt = 0.02f; 

     processMovingObjects(dt); 
     scanCollision(); 
    } 

    public void selPause() 
    { 
     G.sd_button.start(); 

     if (btPause.selectedIndex() == 0) 
     { 
      CCDirector.sharedDirector().resume(); 
      state = GAME_STATE.GS_PLAY; 
     } 
     else 
     { 

      CCDirector.sharedDirector().pause(); 
      state = GAME_STATE.GS_PAUSE; 
     } 
    } 

    public boolean ccTouchesBegan(MotionEvent event) 
    { 
     CGPoint touchPoint = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY())); 

     if (state == GAME_STATE.GS_PLAY) 
     { 
      if (touchPoint.x < G.rwidth/2) { 
       player.timeStateUpdate(PLAYER_STATE.PS_DOWN); 
      } 
      else {   
       player.timeStateUpdate(PLAYER_STATE.PS_JUMP); 

      } 

     } 

     return true; 
    } 

    public boolean ccTouchesEnded(MotionEvent event) 
    { 
     CGPoint touchPoint = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY())); 

     if (state == GAME_STATE.GS_PLAY) 
     { 
      if (touchPoint.x < G.rwidth/2) { 
       if (player.state == PLAYER_STATE.PS_DOWN) 
       { 
        player.timeStateUpdate(PLAYER_STATE.PS_RUN); 
       } 
      } 
      else { 
       if (player.state == PLAYER_STATE.PS_JUMP) 
       { 
        player.timeStateUpdate(PLAYER_STATE.PS_RUN); 
       } 
      } 

     } 

     return true; 
    } 

    public boolean ccTouchesCancelled(MotionEvent event) 
    { 
     CGPoint touchPoint = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY())); 

     if (state == GAME_STATE.GS_PLAY) 
     { 
      if (touchPoint.x < G.rwidth/2) 
      { 
       if (player.state == PLAYER_STATE.PS_DOWN) 
       { 
        player.timeStateUpdate(PLAYER_STATE.PS_RUN); 
       } 
      } 
      else { 
       if (player.state == PLAYER_STATE.PS_JUMP) 
       { 
        player.timeStateUpdate(PLAYER_STATE.PS_RUN); 
       } 
      } 

     } 

     return true; 
    } 
     public void onExit() 
    { 
     removeCache(); 
     super.onExit(); 

    } 

} 

アドバンス

答えて

0

オーケーでme.Thanksを支援してください、あなたはCocos2dを覚えている基本的な事はあなたのccScenes /レイヤーなどがあるということですすべてINSIDEで動作しています。

あなたが必要とするのは、あなたのアクティビティでハンドラを作成して公開し、CCLayerからそのハンドラにRunnableを投稿することです。

次に、WebViewとその実行可能ファイルに「閉じる」ボタンを含むレイアウトを展開して、コンテンツビューに添付することができます。

そこから、View.GONEにそのレイアウトを設定してオブジェクトを削除するためには、閉じるボタンにonClickを付けてオブジェクトを削除するだけです。遠く離れているはずです。

希望は、これは私がウェブベースのチュートリアルページを表示するには、メインメニュー層から、私のアプリでこれを行うために持っていた

助け、それが御馳走に動作します。

} else if (i==TUTORIAL) { 
//call load web url here 
    Handler handler = HomeMenu.getHandler(); 
    handler.post(new Runnable() { 
     public void run() { 
      HomeMenu activity = HomeMenu.getInstance(); 

      LayoutInflater inflater = (LayoutInflater)activity.getLayoutInflater(); 
      if(inflater != null) 
      { 
       baseLayout = inflater.inflate(R.layout.tutoriallayout, null); 
      } else { 
       throw new IllegalStateException("Unable to find view inflater"); 
      } 
      WebView wv = (WebView) baseLayout.findViewById(R.id.tutorialWeb); 
      wv.loadUrl("http://url to your tutorial here"); 
      ImageView iv = (ImageView) baseLayout.findViewById(R.id.closeTutorial); 
      iv.setOnClickListener(new OnClickListener() { 

       public void onClick(View v) { 
        if (baseLayout != null) { 
         baseLayout.setVisibility(View.GONE); 
        } 
        baseLayout = null; 
       } 
      }); 

      activity.addContentView(baseLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 
     } 
    }); 
    break; 
} 

やレイアウトなど

<?xml version="1.0" encoding="utf-8"?> 
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/absoluteLayout1" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content"> 
     <RelativeLayout android:id="@+id/rLayout1" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:padding="10dip"> 
      <android.webkit.WebView android:id="@+id/tutorialWeb" android:layout_height="fill_parent" android:layout_width="fill_parent" android:padding="10dip"></android.webkit.WebView> 
     </RelativeLayout> 
     <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/delete" android:id="@+id/closeTutorial" android:adjustViewBounds="true" android:clickable="true"></ImageView> 
    </AbsoluteLayout>  
関連する問題