暇つぶし2chat GAMEDEV
- 暇つぶし2ch897:名前は開発中のものです。
16/02/27 16:23:02.61 x8pD4Atx.net
>>879
2Dとかやってないのでアレだが
1については>>880のいう通り。unity的なセオリーとしては左右はMovePositionでやる、って感じか?
左右については例えばHorizontalのポジティブネガティブに割り当ててGravityを1とかにして
Axisを使えばピタリと止まることもなくなる。
2についてはpubulic Transform childOb;とかで変数をもっておいて
そこにインスペクターで子供オブジェクトをD&Dしておく、というのがUnity的なセオリーとはいえる。
名前が確定していればStart内でTransform.Findでもいい。
public float kickPower=0;//移動とジャンプの距離
public LayerMask Check;//接地判定で判定するためのレイヤーを取得
private bool GROUNDCHECK = false;
public Transform childObj;//ここに子供をD&D.
Rigidbody2D thisRigid;
void Start(){
thisRigid=GetComponent<Rigidbody2D>();
childObje=transform.Find("Child");//名前が判っていれば.
}
 void FixedUpdate ()
{//jump処理
GROUNDCHECK = Physics2D.Linecast(transform.position,childObj, Check);
if (GROUNDCHECK&&Input.GetButtonDown("Jump"))
{
thisRigid.AddForce(Vector2.up * kickPower,ForceMode2D.Impulse);
}
thisRigid.MovePosition(thisRigid.position+Vector2.right *Input.GetAxis("Horizontal")* kickPower*Time.deltaTime);
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch