コード例 #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        ObstacleController obstacle = collision.gameObject.GetComponent <ObstacleController>();
        CointController    coint    = collision.gameObject.GetComponent <CointController>();
        GrassController    grass    = collision.gameObject.GetComponent <GrassController>();

        if (obstacle != null)
        {
            angle = -60;
            gameControllerScript.End();
        }
        else if (coint != null)
        {
            gameControllerScript.AddCoins(coint.value);
            coint.desroyCoint();
            CoinMusic.Play();
        }
        else if (grass != null)
        {
            angle = -60;
            gameControllerScript.End();
        }
    }
コード例 #2
0
ファイル: MapController.cs プロジェクト: kyo88/runner
	// Update Maps
	void UpdateMaps(){
		float distant = CaculateDistance ();
		//Debug.Log ("BBBBBBBBBBBBBBBB s" + distant + " - " + (NUMBER_OBJ - 5) * 28  );
		if (distant < (NUMBER_OBJ - 2) * 28) {
			int end = (int)maps [END_MAP].transform.position.z / 28;
			Destroy(maps[START_MAP]);
			maps[START_MAP] = null;
			for(int i =1 ;i < NUMBER_OBJ ; i++){
				maps[i-1] = maps[i];
			}

			//random map
			if(currentMapGen==NUMBER_OBJ_IN_MODE){
				currentMapGen = 0;
				currentMapType=(int)Random.Range(0.0F, 2.9F);
				Debug.Log ("MAP TYPE: " + currentMapType );
			}else{
				currentMapGen++;
			}

			maps[END_MAP] = Instantiate(Resources.Load(mapsPath[currentMapType])) as GameObject;
			maps[END_MAP].transform.position = new Vector3(0.0f  , 0.0f, (end + 1)*28f);
			maps[END_MAP].transform.parent = this.transform;
			AddWall(maps[END_MAP]);
			enemyController.AddEnemy(maps[END_MAP]);

			if(coinController){
				coinController.AddCoint(maps[END_MAP]);
			}else{
				coinController=GameObject.Find("CointController").GetComponent<CointController>();
				coinController.AddCoint(maps[END_MAP]);
				Debug.Log ("MapController CointController NULL!!!!");
			}

			//if(START_MAP)
		}
		// Check wall distance
		for (int i = walls.Count - 1; i >= 0; i--) {
			GameObject wall = walls[i];
			//Debug.Log ("CHECK");
			if(wall){
				float distance = wall.transform.position.z - clt.character.transform.position.z;
				//Debug.Log ("CHECK" + distance);
				if (distance < -35.0f) {
					walls.Remove(wall);
					Destroy(wall);
				}
			}else{
				walls.Remove(wall);
			}
		}
	}