謎の歩行生物(仮)【PART52】~PlayerPrefsでセーブ機能、SocialConnectorでシェア機能の実装~

LINEで送る
Pocket

今回は2つの処理の実装についての話です。

まずはコインの取得数や、ステージのクリア状況を保存するための処理。

もう1つはシェアボタンを押したら、ゲーム画面をキャプチャーし、TwitterやFacebookなどのSNSでスクリーンショットをシェアする処理です。

 

目次

PlayerPrefsでセーブ・ロード機能の実装

アプリを終了した後もゲームの状況を残しておくために、セーブ・ロード機能は必須です。今回は手っ取り早くPlayerPrefsクラスを使って実装していきます。

https://docs.unity3d.com/ja/540/ScriptReference/PlayerPrefs.html

 

例えばコインの枚数を保存したいと思った場合、私はまずこんな感じで

013

Coin_count(コインの枚数を保持しておく変数)と、

Coin_Savedata(それを保存しておくデータ名)を用意しました。

※2つ目のデータ名は別になくても大丈夫っぽいですが。

 

で、セーブしたりロードしたりする時は、こんな処理に。

014

セーブの場合、

PlayerPrefs.SetIntでセーブデータに値(Int型)を入れます。これだとCoin_countの値をCoin_Savedataに入れています。

PlayerPrefs.Save();で保存を行います。

 

ロードの場合は、

PlayerPrefs.GetInt(Coin_Savedata, 0);

で、Coin_Savedataの値をロードします。第二引数の「0」というのは、値が保存されていなかった場合に呼び出される値になります。

このCoin_Savedataの値を、Coin_Countの中に入れています。

 

あとはセーブしたいタイミング、ロードしたいタイミングでそれぞれ、COIN_Save()、COIN_Load()を呼び出してあげればいいわけです。

全く同じやり方で、ステージのクリア状況の保存も作りました。

015

 

SocialConnectorでシェア機能の実装

続いてシェアボタンを押したら各種SNSへスクショをアップする機能を実装です。

まずは、コチラのサイトからSocialConnectorというモノをダウンロードします。

010

UnityPackageになっているので、好きなところにファイルをダウンロードしたら、それをインポートします。

インポートはメニューの[Assets]→[Import Package]→[Custom Package]からファイルを選べます。

011

アセットの中身を全てインポートします。

012

スクリプトはこんな感じ。コチラのサイトのスクリプトを参考にさせていただきました。

 

ただ、これだと最後の行のSocialConnector.Share(Share_text, Share_URL, imagePath);

のところでエラーが出てしまい上手くいかなかったので、

012-a

スクリプトの頭の方で

namespace SocialConnectorと付け加えたら、上手くいくようになりました。(これが正しい対処法かどうか分かりませんが…。)

 

あとは、画像の保存先の設定をしておく必要があるみたいなので、

メニュー[File]→[Build Settings]→[Player Settings]でプレイヤーセッティングを開き、

009

Other Settingsの[Write Permission]をExternal(SDCard)に変更しておきました。

これでOK。

 

さっそくシェアボタンを押してみると…

016

こんな感じで画像をシェアできるウィンドウが表示されるようになりました。過去の色々な記事を見ていると、LINEのアイコンだけ自分で画像を用意しないといけないとあったんですが、普通に出てました。

ひとまずセーブとシェアの機能はこれでバッチリ完成です!!

 

スポンサーリンク

スポンサーリンク

LINEで送る
Pocket