質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.60%

  • Unity

    3813questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

画像の取り入れ方

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 764

sakazaki

score 9


ゲーム中に挿絵のような画像を取り入れるためにはどのようにすればよいでしょうか?

たとえば、オブジェクトが消えたことを契機に、2秒間ほどゲーム画面上に消えたオブジェトの画像を表示したいのですがどのようにすればよいのでしょうか?

一応、Canpasにイメージとして画像を張り付けておき、非表示にしていたものを任意のタイミングで、表示するようにできるということはわかりました。ただ、消えたことを契機に表示するためのスクリプトの書き方と、2秒間という時間の設定の仕方がわかりません。
ご教授ください。

よろしくお願いいたします。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

基本的にはtakirenさんの方法で良いと思います。
ただ「表示を2秒間残したい」という目的に対しての解決策としては、消してから2秒の寿命を持つ新しいオブジェクトを作るよりも、オブジェクトの消去自体を2秒遅らせる方が簡単かつ効率的です。

この方法をとる場合、以下の様なメソッドを定義してコルーチンを使うと良いでしょう。

IEnumerator waitAndDestroy(float waitTime) {
    yield return new WaitForSeconds(waitTime);
    Destroy(gameObject);
}

上記のメソッドの呼び出し側は以下の様になります。

StartCoroutine(waitAndDestroy(2.0f));

もちろん、消去するオブジェクトが残っているとゲーム全体に悪影響を及ぼす場合はこの方法をそのまま使うことはできません。
その場合はtakirenさんの方法を取るか、周囲に影響を及ぼすコンポーネント(例えばCollider)だけ先に削除してからStartCoroutineを呼び出すなどの工夫が必要です。

参考:
【Unity】時間を指定して、その後関数を呼び出す

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/09/24 15:20

    この方法のほうが256倍いいと思います

    キャンセル

0

消えた瞬間→消す処理の少し手前で寿命が2秒間の(消える予定と同じ見た目の)ゲームオブジェクトを生成
Gameobject test;
public Gameobject example;//exampleが見た目の同じオブジェクト(prefab)
//中略
test=Instantiate(example);
みたいなかんじでどうでしょう。
あとは
Time.realtimeSinceStartupを利用して時間を計測して2秒たったら自身を破棄。これは見た目が同じオブジェクトのスクリプトにアタッチしてください。

private float stime;
    // Use this for initialization
    void Start () {
        stime =Time.realtimeSinceStartup;
    }
    
    // Update is called once per frame
    void Update () {
        if (Time.realtimeSinceStartup - stime >= 2.0f)
        {
            Destroy()this;
        }
       
    }
ただパフォーマンス的に良いアプローチじゃない気がしますね。
消さない方がいいと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/09/23 21:39

    if (Time.realtimeSinceStartup - stime = 2.0f)じゃない理由は不安だからです

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Javaの体力ゲージについての質問です。

    EclipseのProgressBarで体力ゲージを表現しています。 bar.setMax(100); bar.setProgress(100-80); bar = (Progr

  • 解決済

    RPG Lvup

    全くの素人ですがandroid studioでRPGゲームを作ってみようと思っています。 さまざまなゲームでレベル1からスタートして経験値を獲得し、どんどんレベルが上がっていきま

  • 受付中

    unity5でZENRINの地図でMMDを動かしたい

    unity5を使ってゲームプログラミングをしようと思っているのですがZENRINのotakucityをフィールドにしてMMDを歩き回らせたいのですがどこをいじっていいのかわかりませ

  • 受付中

    javaについて

    今現在javaでゲームを作っています。 簡単なシューティングゲームなのですが、クリアするまでの時間を計ってクリアしたら表示できるようにしたいです。 また、相手の攻撃を受けた

  • 解決済

    途中から開始すると、前の状態からスタートしてしまう

    いつもお世話になります。 ゲームを作っているのですが、ゲームオーバーやゲームクリアした時に、タイトルに戻るようにゲームを作りました。そこで、ゲームをした後にタイトルに戻り、もう一

  • 解決済

    iosとandroidでP2Pをする

    iosとandroidでP2Pの通信はできますでしょうか?? また、もしできるのであれば具体的な方法を教えて頂けると幸いです。 宜しくお願い致します。

  • 解決済

    リズムゲームをswiftで作りたい

    ノーツが降ってきてそれをタッチすれば、音がなり、曲になるというようなリズムゲームを作ろうと思います。 そこでdawの使い方を調べたのですが、いつまでたってもできそうにありません。簡

  • 解決済

    Unityのゲーム実行中にライトのベイクとアセットバンドル保存をしたい

     前提・実現したいこと Unity初心者です。 3DCGも勉強途中のため、的外れなこともあると思いますがご容赦ください。 スクリプトに以下の処理を記述し、ゲーム実行時に処理が走

同じタグがついた質問を見る

  • Unity

    3813questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。