
TOSHICHAN
Unityでスクリプト&簡単な実装サイト
モ〇ストっぽいもの作る!!
完成映像↓
1.2Dプロジェクト作成

2.上の画像をダウンロードし、プロジェクトへドラック&ドロップ
3.先ほどドラック&ドロップした画像をSceneへ配置(ドラック&ドロップ)
4.下の画像のように配置し、Add component>Physics2D>Box Collider 2D を壁に付けてあげましょう

5.下の画像をダウンロードし、プロジェクトへドラック&ドロップ

6.5でダウンロードした画像をSceneへ配置(ドラック&ドロップ)
7.6で配置した画像のScaleをXYZ、0.1にする
8.6で配置した画像に、Add component>Physics2D>Box Collider 2D をつけましょう
9.6で配置した画像に、Add component>Physics2D>RigidBody 2D をつけましょう
10.9で付けたRigidbody 2D のGravity Scale を0にしてあげます
11.Tapと言うスクリプトを作ります(C#)
12.作ったらスクリプトを開いて下のスクリプトを書きましょう
public class Tap : MonoBehaviour {
int onMouseDownFlg;
Vector2 direction;
Vector2 mouseDownPoint;
public GameObject ballObj;
private float xforce;
private float yforce;
void Start (){
GetComponent<Rigidbody2D>().isKinematic = true;
Application.targetFrameRate = 120;
onMouseDownFlg = 0;
}
void Update (){
//マウスが押されたとき
if(Input.GetMouseButtonDown(0)) {
Vector2 mouseInput = Input.mousePosition;
Vector2 tapPoint = Camera.main.ScreenToWorldPoint(mouseInput);
//Collider2D collition2d = Physics2D.OverlapPoint(tapPoint);
RaycastHit2D hitObject = Physics2D.Raycast(tapPoint, -Vector2.up);
if (hitObject.collider.gameObject == ballObj) {
onMouseDownFlg = 1;
mouseDownPoint = mouseInput;
}
}
if(Input.GetMouseButtonUp(0)){
if(onMouseDownFlg == 1){
//マウス,タッチが離されたとき
GetComponent<Rigidbody2D>().isKinematic = false;
onMouseDownFlg = 0;
ballObj.GetComponent<Rigidbody2D>().AddForce(direction);
}
}
//マウスが押されっぱなしのとき
if(onMouseDownFlg == 1){
xforce = mouseDownPoint.x - Input.mousePosition.x;
yforce = mouseDownPoint.y - Input.mousePosition.y;
if(xforce > 1000) xforce = 1000;
if(xforce < -1000) xforce = -1000; if(yforce > 1000) yforce = 1000;
if(yforce < -1000) yforce = -1000;
direction = new Vector2(xforce, yforce);
}
}
}