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

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

ただいまの
回答率

90.61%

  • C#

    6870questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Unity

    3825questions

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

  • Unity3D

    1249questions

    Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

  • Unity2D

    834questions

PlayerPrefsで音量がセーブ、ロードできない

解決済

回答 3

投稿 編集

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

Buddha_san2

score 19

 前提

Unity,C#でゲームを作っています。
前の質問が複雑になってしまったので、ここで清書します、すいません。

Sliderを使っています。
シーンが変わっていても音量を維持するようにしています。

 問題

PlayerPrefsを使っているのですが、うまく音量がセーブできません。

float volume の値を変えても意味がないのでしょうか?
よろしくお願いします。

 該当のソースコード

これが音量のSliderにつなげています。

public class VolumeALL : MonoBehaviour
{

    public UnityEngine.Audio.AudioMixer mixer;

    // インスペクター上からスライダーのオブジェクトを登録
    public Slider targetSlider;

  public static float volume;

    void Start()
    {
        // mixer.GetFloat()の値は、volumeに代入される
        // 返り値は、パラメーターが存在しない場合にfalseになる
        if (mixer.GetFloat("Master", out volume))
        {
           targetSlider.value = volume;
        }

        //セーブされている音量をロードする
        volume = PlayerPrefs.GetFloat("VOLUME", volume);
    }
    //sliderの所にこれを起動しています
    public void masterVol(Slider slider)
    {
        mixer.SetFloat("Master", slider.value);
    }


シーンを切り替えるボタンの所で、

    public void SaveVolume(float volume)
    {
    float Volume = VolumeALL.volume;
        PlayerPrefs.SetFloat("VOLUME", Volume);
    }


を起動させています。

訂正後

public class VolumeALL : MonoBehaviour
{

    public UnityEngine.Audio.AudioMixer mixer;

    // インスペクター上からスライダーのオブジェクトを登録
    public Slider targetSlider;


    void Start()
    {
        targetSlider.value = PlayerPrefs.GetFloat("Master",0);
    }

    public void masterVol(Slider slider)
    {
        mixer.SetFloat("Master", slider.value);
    }
}


シーンを移動させるボタンにこのメソッドを起動

public void SaveVolume(Slider slider)
    {
        PlayerPrefs.SetFloat("Master", slider.value);
        PlayerPrefs.Save();
    }


これで、Sliderをセーブ、ロードすることが出来ました。自分自身、教えて頂かなければ、一生出来なかったと思います。
回答、本当にありがとうございます。
もし良ければ、もう少しだけ教えて頂けたらと思います。

問題点

次は、その音量を変えるシーンに移らなければ、音量が変わらないという事になりました。
私のゲームでは、タイトルのシーンが最初なので、一度設定のシーンに行かなければ音量が変わりません。
タイトル画面の状態から音量が変わっている、というようにすることは可能でしょうか?

タイトル画面の音楽を流しているコード

関係ないかもしれないのですが、挙げます

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//シーンが同じでも重複再生されないコード
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
public class Sound2 : MonoBehaviour
{

    public bool dontDestroyEnabled = true;

    //instanceにSoundを格納
    private static Sound2 instance = null;

    public static Sound2 Instance
    {
        get { return instance; }
    }

    void Awake()
    {
        //既にinstanceに曲入っていて、新たに入った曲があれば、それを消去
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
            return;
        }
        //曲がまだなら曲スタート
        else
        {
            instance = this;
        }
        //サウンドを消去せずに維持する
        DontDestroyOnLoad(this.gameObject);

    }

 解決したコード

音量の変更をするスライダー部分

public class VolumeALL : MonoBehaviour
{

    public UnityEngine.Audio.AudioMixer mixer;

    // インスペクター上からスライダーのオブジェクトを登録
    public Slider targetSlider;


    void Start()
    {
        targetSlider.value = PlayerPrefs.GetFloat("Master",0);
        masterVol(targetSlider);
    }

    public void masterVol(Slider slider)
    {
        mixer.SetFloat("Master", slider.value);
    }
}


タイトル画面

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//シーンが同じでも重複再生されないコード
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
public class Sound2 : MonoBehaviour
{

    public UnityEngine.Audio.AudioMixer mixer;

    public bool dontDestroyEnabled = true;

    //instanceにSoundを格納
    private static Sound2 instance = null;

    public static Sound2 Instance
    {
        get { return instance; }
    }

    void Awake()
    {       
        //既にinstanceに曲入っていて、新たに入った曲があれば、それを消去
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
            return;
        }
        //曲がまだなら曲スタート
        else
        {
            instance = this;
        }
        //サウンドを消去せずに維持する
        DontDestroyOnLoad(this.gameObject);
    }

    void Start()
    {
        mixer.SetFloat("Master", PlayerPrefs.GetFloat("Master", 0)); 
    }


回答して頂いた皆様(MMashiro様、capra314cabra様、ha_wn様、TomoG12様)のおかげで、無事うまくセーブ、ロードが出来ました。
無知な私に、長い時間付き合って頂き、本当にありがとうございます。

  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 3

checkベストアンサー

+1

タイトル画面の音楽を流しているコードで音量設定している箇所が無いと当然ですがタイトル画面の音量は変わらないです。
動作優先でSound2に付け加えると下記の様になると思います。

  1. //追加 の3行分を書き足して下さい。

2.mixerにはInspectorからVolumeALLのmixerでアタッチしているものと同じものを入れて下さい。

※これで音が鳴らなくなった場合はセーブされたデータが無いです。

using System.Collections; //追加

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//シーンが同じでも重複再生されないコード
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
public class Sound2 : MonoBehaviour
{
    public UnityEngine.Audio.AudioMixer mixer; //追加
    public bool dontDestroyEnabled = true;

    //instanceにSoundを格納
    private static Sound2 instance = null;

    public static Sound2 Instance
    {
        get { return instance; }
    }

    void Awake()
    {
        //既にinstanceに曲入っていて、新たに入った曲があれば、それを消去
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
            return;
        }
        //曲がまだなら曲スタート
        else
        {
            instance = this;
        }
        //サウンドを消去せずに維持する
        DontDestroyOnLoad(this.gameObject);
        mixer.SetFloat("Master", PlayerPrefs.GetFloat("Master",0)); //追加
    }

・追記
確認なのですがスライダーはこのgif画像の下側「Master」部分の様に正常に動作しているという事で大丈夫でしょうか?
イメージ説明

その場合dBへの数値変換を「ソースコードのどこかで対応している」「スライダーをMin Value -80,Max Value 0の様にして対応している」のどちらなのかお聞きしたいです。

何を言っているのか判らない場合はそう書いてくれて構わないです。

・追記2
以下をそのまま使ってどうなのか試して下さい。
mixerがnullになっている場合は再設定も忘れずお願いします。
スライダーはMinValue-70、MaxValue 0の設定のままで良いです。

using UnityEngine;
using System.Collections; //追加

//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//シーンが同じでも重複再生されないコード
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
public class SetVolumes : MonoBehaviour
{
    public UnityEngine.Audio.AudioMixer mixer; //追加
    public bool dontDestroyEnabled = true;

    //instanceにSoundを格納
    private static Sound2 instance = null;

    public static Sound2 Instance
    {
        get { return instance; }
    }

    void Awake()
    {
        //既にinstanceに曲入っていて、新たに入った曲があれば、それを消去
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
            return;
        }
        //曲がまだなら曲スタート
        else
        {
            instance = this;
        }
        //サウンドを消去せずに維持する
        DontDestroyOnLoad(this.gameObject);
    }

    void Start()
    {
        mixer.SetFloat("Master", PlayerPrefs.GetFloat("Master", 0)); //追加
    }
}

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/26 21:44

    すいません、三行追加して、mixerにVolumeALLと同じものを入れましたが、何も変わりませんでした。
    mixer.SetFloat("Master", PlayerPrefs.GetFloat("Master",0));
    これで音量を設定と同じように出来る、と私も思ったのですが、何かあるのでしょうか?
    大変申し訳ないのですが、ご助言頂けたら嬉しいです。

    キャンセル

  • 2018/06/27 10:14 編集

    VolumeALLのmixer.SetFloat("Master", slider.value);が本当に正常に動くならば何も変わらないという事は無い気もしますが
    Debug.log(PlayerPrefs.GetFloat("Master",0));を何処かに追加して表示される数字を教えて下さい。

    >戻り値はしっかりと保存されています。なので、0です。
    >音量をSliderで変えるとその変えた分の数値がしっかりとセーブされています。

    他の方とこういったやり取りしていましたがこれは正常にセーブした値なのでしょうか?
    保存したミキサーの数値が0で無いにも関わらず0が毎回返ってきているとしたら保存されている数値を取れていないという事になります。

    キャンセル

  • 2018/06/27 10:44 編集

    それとAudioSourceとSound2.csが付けられたゲームオブジェクトは本当にシーン上に一つだけ存在しているでしょうか?
    その辺り問題が無く値も取れているのであれば下の二か所を書き換えて下さい。

    public UnityEngine.Audio.AudioMixer mixer; //追加

    public AudioSource audio; //追加

    public AudioSource audioにはInspectorから”再生するシーンのゲームオブジェクトにアタッチされているAudioSource”を入れて下さい。

    mixer.SetFloat("Master", PlayerPrefs.GetFloat("Master",0)); //追加

    audio.volume = PlayerPrefs.GetFloat("Master",0); //追加

    キャンセル

  • 2018/06/27 13:42

    Sliderを動かし、再起動をしたところ、タイトル画面で-46になりました。

    AudioSourceのオブジェクトはSound2のみがついています。
    ほかに、タイトル画面のボタンに効果音を入れて、クリックしたら、
    GetComponent<AudioSource>().Play();
    を起動させて、効果音を出すようにしています。

    二か所を書き替えました。ただ、一か所目が
    public new AudioSource audio;
    とするようにいわれたので、newを付けました。

    audioにはタイトル画面で流れている音楽(audioSource)を入れました。

    そうしたところ、Siiderが0、音量がMAXでも音楽が出なくなりました。
    音楽は無音になったのですが、効果音はやはり設定画面に行かないと音量が変わりませんでした。

    質問なのですが、今私が音量を設定しているのが、Master,BGM,SEのうちのMasterの部分で、すべての音量を管理するところなのですが、そのせいでタイトル画面の音量が変わらない、ということはありますでしょうか?

    キャンセル

  • 2018/06/27 13:50 編集

    >そうしたところ、Siiderが0、音量がMAXでも音楽が出なくなりました。
    >音楽は無音になったのですが、効果音はやはり設定画面に行かないと音量が変わりませんでした。

    上の変更は「タイトル画面の音楽の音量変更」に対応したものなので効果音は変わりません。

    キャンセル

  • 2018/06/27 13:56 編集

    >質問なのですが、今私が音量を設定しているのが、Master,BGM,SEのうちのMasterの部分で、すべての音量を管理するところなのですが、そのせいでタイトル画面の音量が変わらない、ということはありますでしょうか?

    AudioMixerのMasterは全ての音量に対応しているので正常に変更出来ていればBGM,SEも一緒に音量が変わります。
    上に書いたソースコードの二か所の変更はAudioMixerの設定が上手く出来ていないと考えて、BGMのみ音が変わるようにしました。
    スライダーのMin Value -80,Max Value 0の設定にされているようなのでMin Value 0,Max Value 1でタイトル画面のBGMだけは対応出来る筈です。
    効果音の方は変更出来ませんがそもそも存在を初めて知ったので考慮していません。

    そちらも対応するならばgif画像の件とExposed Parametersで設定したパラメータ名を教えて頂きたいです。

    キャンセル

  • 2018/06/27 14:00

    いえ、タイトルの音楽(BGM)が何をしても流れなくなりました。
    Sliderを動かしても何をしても音楽(BGM)が流れません。

    今回、音量の調節をしているのはすべての音量を管理するところで、
    タイトルの音楽(BGM)は何も流れなくなりましたが、SEは変わらず設定画面に行かないと音量が変わりません。つまり、SEの音は出ますが、設定画面に行かない限り、SEの音量の変更が出来ていない状態です。

    キャンセル

  • 2018/06/27 14:02

    >いえ、タイトルの音楽(BGM)が何をしても流れなくなりました。
    >Sliderを動かしても何をしても音楽(BGM)が流れません。

    スライダーのMin Value -80,Max Value 0の設定にされているようなのでMin Value 0,Max Value 1でタイトル画面のBGMだけは対応出来る筈です。

    これをまず試して頂きたいです。

    キャンセル

  • 2018/06/27 14:09

    スライダーは正常に機能していることを確認しました。
    ただし、タイトル画面に行くとすべての音量が0に戻ってしまいます。
    設定画面に行くと、スライダーで変更した音量がロードされます。

    すいません、追記の部分が分かりません。
    スライダーの音量について、MinValueとMaxValueはInspectorで手動で変更しています。
    例えば、今回のスライダーはMinValue-70、MaxValue0としています

    キャンセル

  • 2018/06/27 14:15 編集

    追記の部分が分からず何故その設定が出来ているのかが疑問ですが

    タイトルの「BGM音量だけ」を変更するのはスライダーの設定をMin Value 0,Max Value 1で出来るのでそちらに変更するか。
    効果音も含めるならば現状のスライダーの設定のままタイトルでmixer.SetFloatをStartで読み込んでMasterの値を変えれば良いです。

    キャンセル

  • 2018/06/27 14:28 編集

    本文「追記2」に新しいソースコード書いたのでそれをそのままSetVolumes.csにコピペして使って下さい。

    キャンセル

  • 2018/06/27 14:38

    ありがとうございます!うまく機能しました。
    しっかりとタイトル画面でも音量が変更しました、本当にありがとうございます。ha_wnさんが居なければ、絶対にここまでたどりつきませんでした。本当に感謝の気持ちでいっぱいです。

    疑問なのですが、
    Awake()だとmixer.SetFloat が起動せず、Start()で起動したのはどういうことなのでしょうか?

    キャンセル

  • 2018/06/27 14:48 編集

    Awake()の実行はStart()より早いです。
    今回であればAudioMixerの変更はAwake()では受け付けていないがStart()では受け付けているといった状態になっています。

    他の原因も考えていたので提示が遅れました。
    申し訳ないです。

    キャンセル

  • 2018/06/27 14:50

    なるほど...理解しました、ありがとうございます!

    キャンセル

+1

Start関数内でロードした後 targetSlider.value に対して volume を代入してください。
floatは値型なので参照型のような挙動はしない為です。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/24 23:26 編集

    回答ありがとうございます! Start関数内で、targetSlider.value と ロード の順番を変えるということでしょうか?

    キャンセル

  • 2018/06/25 07:51

    そもそもの前提を聞いたほうが良いかもしれなかったです、
    1. mixerから現在の音量を取得している
    2. PlayerPrefsから保存した音量を取得している
    上記のどちらをスライダーや現在の音量に反映させたいのでしょうか?
    PlayerPrefsを使っているのであれば1番の取得はそもそも要らないではないかと思った為です

    キャンセル

  • 2018/06/25 10:33

    いまは、mixerから音量を取得しているので、PlayerPrefsから音量を取得すれば良いということでしょうか?
    mixerの音量が保存できるのであれば、そうしたいのですが、不可能ですよね...

    キャンセル

  • 2018/06/25 10:37

    > いまは、mixerから音量を取得しているので、PlayerPrefsから音量を取得すれば良いということでしょうか?
    シーン移動前のAudioMixerの音量を保存しておいてシーン移動後に復元すれば良いと思います。

    > mixerの音量が保存できるのであれば、そうしたいのですが、不可能ですよね...
    mixer.GetFloat("Master", out volume) で取得できるのは質問者様も知ってるはずなので、取得後volume変数をPlayerPrefsで保存すれば良いと思います

    キャンセル

  • 2018/06/25 13:04

    理解力が悪くてすいません。
    まず最初に、masterVolのメソッドで、
    mixer.SetFloat("Master", slider.value);
    PlayerPrefs.SetFloat("Master", slider.value);
    のようにすれば良いという事でしょうか?
    大変申し訳ないのですが、もしよければ、参考となるコードを教えて頂けると大変ありがたいです。

    キャンセル

  • 2018/06/25 13:23

    masterVolは現状で良いと思います。
    Startメソッド内で
    1.PlayerPrefsから音量データを読み込み
    2.その値をslider.valueに入れた後
    3.masterVolを一度呼び出してください

    キャンセル

  • 2018/06/25 13:24

    SaveVolumeメソッドではVolumeALL.volumeを保存するのではなく
    slider.valueかmixer.GetFloat("Master")の値を保存するようにしてください

    キャンセル

  • 2018/06/25 13:24

    つまりVolumeALLのvolume変数は不要ということになります

    キャンセル

  • 2018/06/25 18:09

    Sliderのセーブロードをすることが出来ました、ありがとうございます!
    MMashiroさんが居なければ、一生出来なかったと思います、ありがとうございます。
    質問のところに問題の詳細を書きました。
    もし良ければ、もう少しだけお付き合い頂けたら嬉しいです。

    キャンセル

  • 2018/06/25 18:23

    Startメソッド内のSliderに代入した後 masterVolメソッドを呼び出してみたら意図した動きにはならないでしょうか?

    キャンセル

  • 2018/06/25 18:47

    Startメソッドの中に
    VolumeBGM.masterVol();
    を入れるということでしょうか?
    すいません、知識がないためにエラーが発生してしまいました。
    「'VolumeBGM.masterVol(Slider)' の必要な仮パラメーター 'slider' に対応する特定の引数がありません。」

    キャンセル

  • 2018/06/25 18:51

    masterVol(targetSlider); で良いと思います

    キャンセル

  • 2018/06/25 19:17

    masterVol(targetSlider); を入れましたが、やはりタイトル画面の状態から音量が変わった状態にはなりませんでした。
    音楽はタイトル画面で流すようにしており、設定画面ではDontDestroyOnLoadになっています。
    設定のシーンに行かずに、タイトル画面から音量が変わった状態にするには、やはり不可能なのでしょうか?
    セーブしたのがSliderというだけで、音量自体はセーブされていないということなのでしょうか?

    キャンセル

  • 2018/06/25 19:31

    タイトル画面で以前保存した音量が最初から反映されてるようにしたい
    という事であってますか?

    キャンセル

  • 2018/06/25 19:34

    そうです!それが出来たらいいのですが、やはり難しいでしょうか?

    キャンセル

  • 2018/06/25 19:40

    ということでしたら恐らく音量の保存が出来てない可能性が高いです。
    現在タイトル画面でデバッグした場合 PlayerPrefs.GetFloat("Master",0); の戻り値はいくつでしょうか?

    キャンセル

  • 2018/06/25 20:11

    戻り値はしっかりと保存されています。なので、0です。
    音量をSliderで変えるとその変えた分の数値がしっかりとセーブされています。
    しかし、数値が変わっても音量は設定のシーンに行くまで変わりません。

    キャンセル

  • 2018/06/25 20:21

    数値を取得できているのであればその数値を mixer に渡すだけで良いはずなので、Start内でmasterVolを呼べば行けるはずなのですが…

    キャンセル

  • 2018/06/25 20:39

    そうなんですね・・・なぜうまくいかないのでしょうか・・・
    masterVol内の
    mixer.SetFloat("Master", slider.value);
    だけだと足りないんでしょうか?

    キャンセル

  • 2018/06/25 21:43

    ScriptReference的にはmixer.SetFloat("MasterVol", slider.value);ではないでしょうか。

    キャンセル

  • 2018/06/25 22:17

    Exposed name does not exist: MasterVol
    UnityEngine.Audio.AudioMixer:SetFloat(String, Single)
    というエラーが出てきて、音量が変わらなくなってしまいました。

    キャンセル

  • 2018/06/26 18:41 編集

    パラメータ名はご自身で付けている筈なので変える必要ありません。
    mixer.SetFloat("Master", slider.value);で正常だったのであれば戻しましょう。

    キャンセル

+1

横から失礼します。

    public void SaveVolume(float volume)
    {
    float Volume = VolumeALL.volume;
        PlayerPrefs.SetFloat("VOLUME", Volume);
     PlayerPrefs.Save();
    }

でいけるかと思います。
PlayerPrefs.Set~~はデータを設定しているだけで保存は出来ていません。
PlayerPrefs.Save()をすることで保存されています。
公式カンファレンス

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/25 17:55

    セーブできるようになりましたありがとうございます!

    キャンセル

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

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

関連した質問

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

  • C#

    6870questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Unity

    3825questions

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

  • Unity3D

    1249questions

    Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

  • Unity2D

    834questions