Plataforma de salto de fantasia de jogo
análise
No jogo Fantasy Jumping Game, explicamos principalmente o sistema de animação e o sistema de controle de personagem da unidade. O seguinte é principalmente sobre outras expansões do jogo.
contente
Primeiro, estamos falando de plataformas. Neste salto milagroso, usamos principalmente 5 plataformas diferentes e fatores perigosos, como mísseis e pêndulos, para enriquecer a diversão e a jogabilidade do jogo. A seguir explicamos principalmente essas plataformas e suas funções. Todas as plataformas e projéteis se movem para cima com o tempo e serão destruídas quando atingirem uma certa altura.
//平台有多种,都需要执行这个移动代码
void Update()
{
MovePlatform();
}
//移动板子
void MovePlatform()
{
transform.position += movement * Time.deltaTime;
if (transform.position.y >= topLine.transform.position.y)//超过了TopLine的高度就摧毁、毕竟超出屏幕不影响游戏了、物体积攒起来会变卡所以摧毁
{
Destroy(gameObject);
}
}
Além disso, existe um gerador de plataforma, que controla a geração da plataforma e aumenta o fator de risco da plataforma
public void SpwanPlatform()//计时方法、一定时间生成一个平台,没有到特定时间则仅仅积累时间不生成平台
{
countTime += Time.deltaTime;
countTime2 += Time.deltaTime;
spawnPosition = transform.position;//获取我自己的位置作为生成板子的位置、是这个脚本挂在了“startLine”物体身上,我/this=StartLine
spawnPosition.x = Random.Range(-3.5f, 3.5f);//水平位置要随机一下
if (countTime >= spwanTime)//到了时间就生成一个平台
{
CreatePlatform();
countTime = 0;//置0
}
if (countTime2 >= spwanTime+1)
{
CreateMenacePlatform();
countTime2 = 0;
}
}
if(platNum == 0)//two platforms
{
int index2 = Random.Range(0, platforms.Count);
if(System.Math.Abs(spawnPosition.x)>=1.5f)
Instantiate(platforms[index2], new Vector3(-spawnPosition.x,spawnPosition.y), Quaternion.identity);
else
Instantiate(platforms[index2], new Vector3(spawnPosition.x-1.5f, spawnPosition.y-1), Quaternion.identity);
}
plataforma comum
Em primeiro lugar, o que queremos falar é a plataforma comum, que também é a plataforma básica mais simples.Esta plataforma fornece principalmente aos jogadores o papel de ficar em pé, sem efeitos especiais.
plataforma temporária
A plataforma é principalmente para fornecer uma estadia temporária, quando você pisar nela, ela existirá apenas por 3 segundos, e então ela será quebrada e não existirá mais.
AudioSource breakAudioSource;
public AudioClip breakClip;
float countTime = 0, endTime = 1;
bool start = false;//控制是否需要计时
void Update()
{
if(start)
{
countTime += Time.deltaTime;
}
if(countTime>=endTime+1)
{
Destroy(gameObject);
}
if (countTime >= endTime)
{
transform.position = new Vector3(0, -20);
}
}
public void OnCollisionEnter2D(Collision2D collision)
{
//一旦进行了玩家触碰,就需要倒计时进行销毁。并且进行音效触发。
if (collision.collider.gameObject.tag.Equals("Player"))
{
breakAudioSource = GetComponent<AudioSource>();
breakAudioSource.clip = breakClip;
breakAudioSource.PlayDelayed(1);
start = true;
}
}
plataforma de fãs
A plataforma tem dois efeitos. O primeiro é que quando o jogador tocar na plataforma, haverá um efeito de quique. É preciso pensar bem se pisa nela, pois se o jogador atingir a altura máxima, ele tocará no pico superior e causar a morte. A outra é que, quando o jogador o toca, o ventilador gira automaticamente e executa uma animação de rotação.
private void OnCollisionEnter2D(Collision2D other)
{
//执行旋转动画
if (other.collider.gameObject.tag.Equals("Player"))
{
animator.Play("Fan_run");
}
}
O jogador pula, tocando a plataforma do ventilador, fazendo com que o jogador pule.
private void OnCollisionEnter2D(Collision2D other)//碰撞检测
{
if (other.gameObject.CompareTag("Fan"))//如果和一个标签为“Fan”的平台碰撞了,那玩家保持原有水平方向的速度的同时获得一个向上的10float的速度。
{
rb.velocity = new Vector2(rb.velocity.x, 10f);
}
}
Resumir
Desta vez, ele fala principalmente sobre o gerador de plataforma e três efeitos de plataforma simples, o impacto causado pelo toque do jogador e as demais plataformas serão descritas na próxima vez.