名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

アイテムを手に入れろ!カプセルシュート!!「机でバスケ」

コンニチハ!!!!!トサカ係長デス!!!!!

 

本日はNintendo Switch「机でバスケ」のガチャ【カプセルシュート】でアイテムを入手していきマス!!!!!!

f:id:sat-box:20200303143456p:plain

1回500Pを使いマスガ、5連だと300Pお得デス!!!!!基本は5連で行いまショウ!!!!

 

いいアイテムキテー!!!!という願いを込めながらXボタンを深く押し込みマス…!!!

f:id:sat-box:20200303143459p:plain

5連を選択するとスラムダンクのOPのワンシーンを思い出しマス…(あっ…と思った方は同年代デスネ…)

 

 

f:id:sat-box:20200303143502p:plain

f:id:sat-box:20200303143504p:plain

君が好きだぁぁぁと叫びぃぃぃタイィィィィィ!!!!!!

f:id:sat-box:20200303143513p:plain

ゴール下に溜まってくカプセルがシュール

レアなアイテムだとカプセルが光りマスガ、今回はありませんでシタ…残念!!!!! 

  

 

しかしまだ結果はわかりまセン!!!!!!

 

 

 

f:id:sat-box:20200303143518p:plain

カッコいいフォーメーションを手に入れまシタ!!!!

 

早速変更デス!!!!!!

 

f:id:sat-box:20200303143525p:plain

学校名やキャラ名、ユニフォームや髪色などのキャラの外見まで変更可能なのでオリジナル学校や何かをオマージュした学校なども自由に作成できマス!!!!!

皆さんも作ってみてくだサイネ!!!!!

ec.nintendo.com

 

 

トサカはYouTubeTwitterも順次更新しておりマス!!!!

是非併せてご覧くだサイ!!!!!!

↓↓↓↓↓↓YouTube↓↓↓↓↓↓

www.youtube.com

↓↓↓↓↓↓Twitter↓↓↓↓↓↓

twitter.com

 

SAT-BOX公式でも複数人でプレイした動画がアップされておりマス!!

是非ご視聴くだサイ!!!!!!

www.youtube.com

【Unity】LineRendererのGetPositionsの使い方

こんにちは、SAT-BOXのコアラです

Unityを使っていて、LineRendererクラスのGetPositions関数の使い方が少し特殊だなと思ったので紹介します

LineRendererは点と点を繋ぐ線を作れるもので、GetPositions関数を使うと点の位置をすべて取得できます
ちなみにTrailRendererにも同名の関数があり使い方も同じでした

早速ですがそのソースコードを載せます

public class Sample : MonoBehaviour {
    public LineRenderer line;
    
    void SampleMethod() {
        var positions = new Vector3[line.positionCount];
        int cnt = line.GetPositions(positions);
    }
}

※Unity5系列だと、GetPositions関数自体が無いバージョンがあります


解説します

まず、点の位置の配列は positions に入っています
え?と思うかもしれませんが、実際取得できていました
GetPositions関数の引数で渡した配列が参照渡しのような扱いになっているのかもしれません
outパラメーターをつける必要もないです、これ以上のことは僕にはわかりません

次に、cnt に入っている数値は、この場合は line.positionCount と同じです
じゃあ cnt って何が返ってきてるんだって話ですが、これは配列の中身を書き換えた数が返ってきてます
この説明だけだとよく分からないと思うので、ソースコードを少し変えたもので説明します

public class Sample : MonoBehaviour {
    public LineRenderer line;
    
    void SampleMethod() {
        var positions = new Vector3[100];
        int cnt = line.GetPositions(positions);
    }
}

配列の長さを100に固定してみました
長さが line.positionCount と違う場合は事情が変わってきます

・LineRendererの点の数が100未満の場合

この場合は、cnt の数値は line.positionCount と同じになります
そして、配列の positions は、長さは100のままですが、点が無い場所の数値は変わりません
例えば点の数が50だとすると、cnt は50になり、positions の0~49番目の数値は点の位置が入り、50~99番目はそのまま (初期化しているのでVector3.zero) です


・点の数が100を超える場合

こちらは、このエラーが出ます
f:id:sat-box:20200217171604p:plain

渡した配列が短いよっていうエラーですね
これが出ても配列の変更は反映されています
cnt は100が返ってきて、positions は0~99番までの点の位置が入り、長さは100のままです

このエラーで処理が止まるなどの実害はなさそうですが、エラーはエラーなので回避したほうが良さそうです

基本的には、配列の長さを line.positionCount と同じにしておけば良いです


使い方のまとめとしては、

1. 配列の長さが LineRenderer の positionCount と同じVector3配列を用意する
2. GetPositions関数の引数にVector3配列の変数を渡す

これだけです (TrailRendererも同じ)


以上がGetPositions関数の使い方になります

本日リリース!新作NintendoSwitchゲーム「机でバスケ」

こんにちわ、SAT-BOXのペンギンです。

 

あらかじめダウンロード開始時にもツバメさんが紹介記事を書きましたが、

本日NintendoSwitch版机でバスケがリリースされましたので、

改めてご連絡致します! 

f:id:sat-box:20200213172442j:plain

タイトル:机でバスケ

価格:850円(税込み)

配信開始日:2月27日(木)

プレイ人数:1~4人

※3月10日(火) 23:59 まで10%OFFの765円で購入することができます!

www.youtube.com

※あらかじめダウンロードの時の紹介記事

sat-box.hatenablog.jp

 

八村塁選手がワシントン・ウィザーズに入団してから、バスケのニュースを見かけることが多くなりましたよね。バスケで遊んでみたいという人は、この機会に「机でバスケ」で遊んでみてはいかがでしょうか。

バスケのルールを詳しくない人もお手軽に遊べるし、複数人でも遊べるので絶対に盛り上がりますよ!迷ってる方はまずは体験版から遊んでみましょう!

 

※購入はコチラから

ec.nintendo.com

Nintendo Switchに登場!!机でバスケ!!!!

こんにちは、トサカ係長デス!!!!!

本日よりブログ更新も行って参りマス!!!!

 

今日は2/27(木)にNintendo Switchにて配信開始された『机でバスケ』をプレイしまシタ!!!!

f:id:sat-box:20200227131723p:plain

ポニーテールは正義デス!!!!!!!!!!!!!!!!!!!!!!!!!

 

まずはチュートリアルをプレイして操作方法を確認していきマス!!!!

f:id:sat-box:20200227131728p:plain

Xボタン 操作選手切り替え

Aボタン シュート(オフェンス時)/スティール(ディフェンス時)

Bボタン パス

 

簡単操作で直感的に楽しめマス!!!!!

 

早速シュートとパスの練習デス!!!!

f:id:sat-box:20200227131733p:plain

f:id:sat-box:20200227131742p:plain

 

サクッと確認したら実践!!!!!

華麗なパスワークとドリブルでNPCを翻弄していまいまシタ!!!!!

f:id:sat-box:20200227131746p:plain

石垣くんのレイアップシュート!!!!!!!!!!!!

 

マネージャーに褒められて大満足デス( ๑>ө•́ )ﻭ✧

f:id:sat-box:20200227131750p:plain

 

皆さんも是非ご購入してプレイしてみてくだサイネ!!!!!!

ec.nintendo.com

 

そして!
新作アプリ「机でハンドボール」が事前予約受付中です!
無料アプリですのでこちらもぜひご覧ください!
yoyaku-top10.jp

 

ミッションに挑戦!ボクらの消しゴム落とし

こんにちは、サトコです!
今日は「ボクらの消しゴム落とし」のバトルロイヤルをプレイしました!
3つのミッションのクリアを目指します!


f:id:sat-box:20200225161957j:plain


“水の上に30秒居続ける”のミッションをクリアしました!
次は“芝の上に30秒居続ける”をクリアしたいです!


f:id:sat-box:20200225162020j:plain


芝の上でじっとしていたのですが…
敵がやってきてしまいました…


f:id:sat-box:20200225162105j:plain


あと少しのところで…
攻撃されてどんどん追いやられてしまいました…


f:id:sat-box:20200225162116j:plain


激しい攻防の末…ひとつ落としたのですが…


f:id:sat-box:20200225162130j:plain


落とされてしましました…


f:id:sat-box:20200225162144j:plain


またも6位です…
でも今回はミッションが1つクリアできました!
ぜひ皆さんも挑戦してみてください!
ec.nintendo.com


そして!
新作アプリ「机でハンドボール」が事前予約受付中です!
無料アプリですのでこちらもぜひご覧ください!
yoyaku-top10.jp

エディター拡張「Editor Window」でデバッグ項目を表示する方法

皆さん、こんにちは!SAT-BOXのツバメです。

以前、「Scriptable Object」でデバッグモードのON / OFFを切り替える
記事を書きましたが、その時に触れていた「Editor Window」について
今回は紹介しようと思います!

前回の記事はこちら!
sat-box.hatenablog.jp

1.実装する内容
今回は以下の画像のような画面を作成しようと思います!
f:id:sat-box:20200224174022p:plain

・Int型を指定できるフィールド
・String型を指定できるフィールド
・Bool型のTrue/Falseをするトグル
の3つを作成します!では、やっていきましょう!

2.実装準備
まず最初に、3つの変数を保存しておく部分を作成しておきます。

using UnityEngine;

public class EditorWindowData : MonoBehaviour
{
    /// <summary>
    /// Int型の値を設定する変数
    /// </summary>
    public static int intValue = 0;

    /// <summary>
    /// String型の文字を設定する変数
    /// </summary>
    public static string stringValue = "";

    /// <summary>
    /// トグルのTrue/Falseを設定する変数
    /// </summary>
    public static bool boolValue= false;
}

Staticで宣言しているのは参照しやすいからで、特に意味は無いです。
では、こちらの変数を更新できるように[Editor Window]の処理を作成します!

3.Editor Windowの作成
こちらがコードになります。

using UnityEngine;
using UnityEditor;

public class EditorWindowData_Editor : EditorWindow
{
    int intValue;
    string stringValue;
    bool isToggle;

    [MenuItem("MyEditor/テスト")]
    static void Open()
    {
        // この処理で作成した画面を開く
        GetWindow<EditorWindowData_Editor>();
    }

    void OnGUI()
    {
        intValue = EditorWindowData.intField;
        stringValue = EditorWindowData.stringValue ;
        isToggle = EditorWindowData.boolValue;

        GUILayout.Label("▼ テスト");

        GUILayout.Label("Int型フィールド");

        // [intValue]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // Int型フィールド作成
            intValue = EditorGUILayout.IntField(intValue);
        }
        // Int型フィールドで数値に変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // 数値を更新
            EditorWindowData.intField = intValue;
        }

        GUILayout.Label("String型フィールド");

        // [stringValue]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // String型フィールド作成
            stringValue = GUILayout.TextArea(stringValue);
        }
        // String型フィールドで数値に変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // 文字を更新
            EditorWindowData.stringValue = stringValue;
        }

        GUILayout.Label("トグル");

        // [isToggle]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // トグル作成
            isToggle = GUILayout.Toggle(isToggle, "");
        }
        // トグルのON/OFFに変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // ON/OFF更新
            EditorWindowData.boolValue= isToggle;
        }
    }
}

長く感じるかもしれませんが、内容は単純です。重要な箇所だけ順番に説明していきます!

using UnityEditor;

エディター拡張に必須のこちらの処理は書いておきましょう。これがないとエディター拡張がそもそも出来ないので…。

public class EditorWindowData_Editor : EditorWindow

デフォルトではMonoBehaviourになっている部分を[EditorWindow]に置き換えてしまいます。これも[Editor Window]にする場合は必須です。

 [MenuItem("MyEditor/テスト")]
 static void Open()
 {
     // この処理で作成した画面を開く
     GetWindow<EditorWindowData_Editor>();
 }

ここで実際のUnity上から画面を呼び出す処理を書いています。
この処理を書くと、メニューに画像のように表示されると思います!
f:id:sat-box:20200224175402p:plain
この項目から呼び出すことが出来ます!この処理を書いておかないと、画面を作成しても呼び出せないので注意してください!今は「MyEditor/テスト」にしていますが、好きに変更しても問題ありません。

  void OnGUI()
    {
        intValue = EditorWindowData.intField;
        stringValue = EditorWindowData.stringValue ;
        isToggle = EditorWindowData.boolValue;

        GUILayout.Label("▼ テスト");

        GUILayout.Label("Int型フィールド");

        // [intValue]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // Int型フィールド作成
            intValue = EditorGUILayout.IntField(intValue);
        }
        // Int型フィールドで数値に変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // 数値を更新
            EditorWindowData.intField = intValue;
        }

        GUILayout.Label("String型フィールド");

        // [stringValue]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // String型フィールド作成
            stringValue = GUILayout.TextArea(stringValue);
        }
        // String型フィールドで数値に変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // 文字を更新
            EditorWindowData.stringValue = stringValue;
        }

        GUILayout.Label("トグル");

        // [isToggle]に変更があるかを確認する処理
        EditorGUI.BeginChangeCheck();
        {
            // トグル作成
            isToggle = GUILayout.Toggle(isToggle, "");
        }
        // トグルのON/OFFに変更があった場合
        if (EditorGUI.EndChangeCheck())
        {
            // ON/OFF更新
            EditorWindowData.boolValue= isToggle;
        }
    }

今回のメインとなる画面の表示を処理している場所です。

intValue = EditorGUILayout.IntField(intValue);

Int型の数値を変更できます。

stringValue = GUILayout.TextArea(stringValue);

String型の文字を変更できます。

isToggle = GUILayout.Toggle(isToggle, "");

Bool型のTrue/Falseを変更できます。第2引数が空白なのはLabelで項目名を表示するためです。普通に名前を入れると画像のようになります。
f:id:sat-box:20200224180238p:plain

これで自由に画面の数値を変更できるようになりました。非常に簡単ですね。誰でも分かるような形にしておけば、チームでの開発もスムーズに進むのではないのでしょうか?
注意点としては、設定した数値などは自分のUnity上でのみ保存されるので他の人のUnityには影響が及ばないところですね。統一をしたいのであれば、「Scriptable Object」を使用した方がいいと思います。

また、時間があれば他のエディター拡張について紹介しようと思います。
以上、ツバメでした!

机でシリーズ第16弾「机でハンドボール」事前予約開始!

こんにちは、SAT-BOXのコアラです


おかげさまで「机でシリーズ」累計500万ダウンロードを突破しました!
ありがとうございます!

今日は机でシリーズの最新情報をお伝えします!


それは・・・(タイトルにありますが)



机でシリーズ第16弾「机でハンドボールの事前予約が始まりました!
f:id:sat-box:20200221132752j:plain

事前予約はこちらから!
予約トップ10:Androidで予約
予約トップ10:iPhoneで予約

こちらで実際のゲーム画面を見れます!
www.youtube.com

走って投げて飛ぶ!
簡単操作で本格的なハンドボールが楽しめます!
相手チームの防御をかいくぐり、豪快なジャンプシュートをゴールへ叩き込もう!!
f:id:sat-box:20200221134202j:plain

1つのスマホで2人対戦ができます!
机でシリーズお馴染みの全国遠征モードとトーナメントもあります!全国のプレイヤーと競争だ!
f:id:sat-box:20200221135035j:plain
「全国遠征」全国の強豪校たちとバトル、一週間での勝敗数などを競うぞ!
「トーナメント大会」県大会、エリア大会、全国大会を勝ち抜き日本一をめざせ!


キーパーとなってシュートを防ぐミニゲーム「キーバーチャレンジ」でポイントをゲットできます!
f:id:sat-box:20200221135814j:plain

ポイントを貯めたらガチャでアイテムをゲット!
集めたアイテムでオリジナルチームを作ろう!
f:id:sat-box:20200221140216j:plain

机でハンドボールはもうすぐリリースです!
楽しみにお待ちください!

事前予約はこちらから!
予約トップ10:Androidで予約
予約トップ10:iPhoneで予約