2016-03-26 18 views
0

基本的な浮遊オブジェクトとなる敵オブジェクトを破壊したい砲弾を作っています
特定の俳優に当たったときに両方のオブジェクトが破壊されるようにするにはどうすればよいですか?ue4特定の俳優がヒットしたときのヒーロー

上記は私が現在持っているものですが、私が欲しいものではないものを破壊します。

私はそれが単純なif文であるべきだと思っていますが、それを書く方法は不明です。
ありがとうございます。

答えて

0

その他のAActorは、AActorに命中するたびに発射体とその他を破壊することになります。私は、あなたの発射物が何かに当たった場合、発射物が破壊され、それが命中したオブジェクトが正しいタイプであれば、そのオブジェクトも破壊されてしまうと思います。

おそらく、発射物によって破壊されるオブジェクトは、AActorから得られます。ような何か:

class DestroyableEnemy : public AActor 
    { //class definition 

    }; 

だから、あなたが他を知っているあなたは具体的には、DestroyableEnemyへのポインタだ、あれば(またはあなたがそれを命名しました何でも)知りたい、AActorへのポインタです。 C++で行うことができる2つの方法は、dynamic_castとtypeid演算子です。私がそれをオフハンドにする方法を知っている方法は、dynamic_castである。 TRYにして、一般的なAActorをDestroyableEnemyにキャストします。それがDestroyableEnemyの場合は、そのポインタを取得します。もしそうでなければ、あなたはただヌルポインタを取得します。 https://en.wikibooks.org/wiki/C%2B%2B_Programming/RTTI

+0

おかげiが欲しかったまさに、あなたは私がCで破壊メッシュを実装++だけではなくレベルからそれを削除する方法を知っている万が一:

DestroyableEnemy* otherEnemy = dynamic_cast<DestroyableEnemy*>(Other); if(otherEnemy){ //if otherEnemy isn't null, the cast succeeded because Other was a destroyableEnemy, and you go to this branch otherEnemy->Destroy(); }else{ // otherEnemy was null because it was some other type of AActor Other->SomethingElse(); //maybe add a bullet hole? Or nothing at all is fine }; 

から適応しますか? –

+0

これは爆発的なものですか?これはアニメーションのもので、イベント(hp = 0など)が発生したときにアニメーションが起動するようにしたいとします。 –

+0

友人がそれを実装するのを手伝ってくれました。 –

関連する問題