前回まででサイコロの横にボタンを配置することができました。
今回はボタンを押すとサイコロを右に移動させたいと思います。
勝手に前進するようにしてたので
スタート関数で0にして歩かせないようにする。
//------------------------------------------------------
void Start () {
power = 0.0f;
}
//------------------------------------------------------
右に移動させる関数を書く。
前進のときはtransform.forwardだったので
そこをtransform.rightにすれば良いのだろう。
//------------------------------------------------------
//右移動
public void RightButton()
{
power = 50.0f;
float walkSpeed = Mathf.Abs(this.GetComponent
if (walkSpeed < this.maxSpeed)
{
this.GetComponent
}
}
//------------------------------------------------------
書けたら保存してボタンと関数を接続して実行。
ボタンを押すと一瞬右に動くけどそれでおしまい。
また押しっぱなしを検知していない。
ボタンの押しっぱなしを検知する方法は
シューティングゲームの時にやったのでそれを使おう。
//-------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SaikoroMover : MonoBehaviour {
float power = 50.0f; //サイコロを動かすのに加える力。パワー。
float maxSpeed = 7.0f; //最高速度を指定して速度制限。これをしないとずっと加速し続ける。
bool Rnow = false;
// Use this for initialization
void Start () {
power = 0.0f;
}
// Update is called once per frame
void Update () {
if (Rnow == true)
{
power = 50.0f; //サイコロを動かすのに加える力。パワー。
float walkSpeed = Mathf.Abs(this.GetComponent
if (walkSpeed < this.maxSpeed) //歩く速度(walkSpeed)が最高速度(maxSpeed)を超えないなら力を加えて加速させる。
{
this.GetComponent
}
}
}
//右移動
public void RightButton()
{
power = 50.0f; //サイコロを動かすのに加える力。パワー。
float walkSpeed = Mathf.Abs(this.GetComponent
if (walkSpeed < this.maxSpeed) //歩く速度(walkSpeed)が最高速度(maxSpeed)を超えないなら力を加えて加速させる。
{
this.GetComponent
}
}
//Rボタン押した
public void Rosita()
{
Rnow = true;
}
//Rボタン離した
public void Rhanasita()
{
Rnow = false;
this.GetComponent
}
}
//-------------------------------------------------------------
これでサイコロがスムーズに右に移動
できるようになったぞ^^v
後はボタンの位置と大きさを調整して
左、前、後ろ移動用のボタンを作ればいけそうですな。^0^
ボタンのSourceImageも半透明にすると見やすいかも。
とりあえず今回はこれでおしまい~
////////////////////////////////////////
ー広告ー