忍者ブログ
とりあえずオキュラス発売までにunityであれこれ作れるようになることを目標として日記とする所存。その他には大学で学んだこと、勉強会でのあれこれなど。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Unityでのセーブロード実装

九州アプリチャレンジキャラバンにおいて同じ研究室の同級生自分含めて5人でアプリ開発を行う事となった、ので、分担作業の一つのセーブデータについて調べながら記述していく。

UnityではPlayer Prefsクラスを使用するとint型,float型,string型のデータを保存出来る。がこのままでは改変し放題でいろいろと不便なのでLitSONを利用してセーブする方法を記述する。
SavableSingleton.csは参考サイトから

Scriptフォルダの中身の例

・LitSONフォルダ(いじらない
・SavableSingleton.cs(Save基底クラス。いじらない
・SaveData.cs(データクラス
・Pet.cs(その他色々するクラス

1. SaveData(セーブデータクラス)

データを保管してるクラス
***---***---***---***---***---***---
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class SaveDataX : SavableSingleton<SaveDataX>
{
    public string petName = "";
    public int x = 0;
}
***---***---***---***---***---***---
public class セーブデータクラスの名前 : SavableSingleton(セーブ基底クラスの名前)<セーブデータクラスの名前>
{
publicつけて宣言する
}

2. セーブ実行

TestSaveData.Instance.petName = "さかぐち";
TestSaveData.Instance.x = 10;
→セーブデータをセーブデータクラスに格納
TestSaveData.Instance.Save();
→セーブ実行(ここではじめてセーブされる)
Debug.Log(TestSaveData.Instance.petName);
→さかぐちと出力される
セーブしたデータはTestSaveData.Instanceを初めて呼び出した際に勝手にロードされる
→スタート時にDebug.Logなどをvoid Start ()で適当に呼び出せば勝手にロードされる
PR

Unity remote4でAndroid実機テスト

アプリチャレンジキャラバンの作業の中でUnity実機テストする方法まとめ。
色々検索して、何をやってもうまく行かず、最終的にツイッターの噂にたよりなんだかんだしていたらうまくいったのでその変遷をまとめます。


使用機材
 Mac book air
 GALAXYSⅢSC-06D
 USBケーブル

unityで2d横スクロールゲー作る_part6

スタート画面、ステージ、ゲームクリアゲームオーバー…もう完成と言っていいレベルであるが、時間がありそうなのでもう一つギミックを作って、それを使ったステージをつくるとする。

という訳で今回は移動床を実装していく。




イメージはこんなかんじ。
一番の問題は一緒に動かすところであるがとりあえず順に実装していく。

・床を往復させる

・乗ったものを一緒に動かす


横スクまとめ

学校で説明用に1枚のプリントにまとめる必要があったので簡単にまとめたものをせっかくなのでこっちにもポイポイしちゃいます。


Unityで2D横スクロールゲーム(しぐれちゃん+改)

 について

unityとは、ゲーム開発環境の一つです。「C#」や「Javascript」と呼ばれるプログラミング言語が使用できます。難しいプログラムを書かなくても簡単に『重力』の設定ができたり、『3Dモデル』が簡単に使用出来るのが強みです。さらに、多くのハードに対応しており、Windowsのパソコンからiphone、WiiUやPS4など幅広いハード向けにゲームを作る事ができます。無料版で十分ゲーム作りが可能なので、だれでもいつでもゲーム作りを始める事ができます。

今回作ったゲームについて

どうやってキャラクターを動かすのか

キャラクターは方向キー←と→で動かします。→とは下記のプログラム中のrightのことです。入力している間、x方向に移動させます。←はleftのことです。入力している間、xのマイナス方向へ動かすことができます。下のようにGetKeyというプログラムの関数を利用するとこれが実現出来ます。
 

どうやってジャンプさせるのか

 ただジャンプをさせるだけなら上記のプログラムのようにGetKeyを利用して、スペースキーを入力したときに上へ力をくわえるだけですが、そのままでは空中でも延々とジャンプができてしまいます。そこで、地面とプレイヤーが接触したときだけジャンプ出来るように設定します。  レイヤーと呼ばれるゲームの中のモノを種類分けする機能を使って、プレイヤーと地面に種類分けすることで実現します。
 

ゲームオーバー・ゲームクリア

 Unityにはシーンと呼ばれるものがあります。RPGをやった事があるでしょうか、敵と接触したとき、戦闘シーンへ移ります。今回のゲームでは下に落ちた時、ゴールについたときにそれぞれゲームオーバーシーン・ゲームクリアシーンに移動をさせるようにします。

こちらも接触判定を利用します。 に接触すればゲームクリア、下に敷き詰めた に接触すればゲームオーバーとしております。

その他のギミック
今までの事を応用して色々なギミックを設置したらゲームが完成します。

unityで2d横スクロールゲー作る_part5

タイトル画面、ゲームクリア、ゲームオーバーの判定をつくる。

今回は大きく3つに分けている。

・タイトル画面作成

・ボタンに機能を付与してシーン移動実現

・接触判定でゲームオーバーとゲームクリア実装





まずはシーンを分けて、このように遷移するように作っていく。



各条件を考えた。遷移方法は主に2つで、ゲームオブジェクトに触れてシーン移動するか、ボタンを押してシーン移動するかである。