2022年4月2日土曜日

(作成アクション)Create uuid

重複することが限りなく少ない一意な識別子
uuid を生成するアクションです。

ユーザー、端末の識別等に使用できます。

Create_UUID.cs
ファイルを

プロジェクト内 Assetsフォルダの中の
\Assets\PlayMaker_Custom_Actions\System 等、任意の場所において下さい
(unity2019.3.3f1 での動作を確認。)

 

アクションブラウザ内の [System] カテゴリーに表示されます。
-----


ステートに並べ開始すると、 id が作成され、指定した String 変数に格納されます。

id を PlayerPrefs にセーブする場合は、続けて標準アクションの
[
PlayerPrefs Set String ] を使うといいでしょう。
-------


インスペクタで、作成された id を表示しているところです。
詳しくは同封のReadme をお読み下さい。
不具合などは、コメント等にお願いします。

2022年3月25日金曜日

(アクション配布)WWWPOST

HTTP通信でデータを送受信するアクションを配布します。
以前はエコシステムで見つかったものですが、今は見当たらないようです。
WWWPOST のみの予定でしたが、他の3つも同封することにしました。

WWWPOST
WWWObjectRelative
WWWEscapeUrl
WWWPOSTMobile

WWWPOST を使うと、web上のCGI等にデータを送受信できます。
図の例では、https://anan.sakura.ne.jp/gamedata.cgi に

https://anan.sakura.ne.jp/gamedata.cgi?name=しののめ&score=5100 
といった形でデータを渡します。

Perl のスクリプトでは
-----
#!/usr/local/bin/perl

use CGI qw(:standard);
use Jcode;

## 受信データを $name $score へ代入。

$name = param("name");
$score   = param("score");
-----

のような形で受け取ることが出来ます。
(いずれ、別エントリで、もう少し詳しく書くことも…)

パラメータには、Texture や Audio もあるので様々な使い方があるの
かもしれません。改変してみるのも面白いのかも。
-----
WWWPOST
WWWObjectRelative

に関しては "MovieTexture" オブジェクトが unityでサポートされなくなった
ため、元のままでは最近のunityで、エラーになる状態でした。

配布のスクリプトは、 MovieTexture に関する部分を // つぶしておきました。
unity2019 では動作します。

WWWPOST.zip

詳しくは同封のReadme をお読み下さい。
不具合などは、コメント等にお願いします。

2022年3月11日金曜日

(作成アクション)Set Sprite Value

スプライト変数に、スプライト画像を代入するアクションが、エコシステムにも
無いようなので、作成してみました。


上の図の例では、プロジェクトの中の戦闘機の画像を選択し、設定した
スプライト変数  "spr 1" に代入しています。


-------

ノードはこのようです。

-----

スプライト変数は前もって作成しておきます。

-----

実行し、次のステートで、"Set Sprite" アクションを使い、
"spr 1" に代入された画像を自身に割り当てています。

( "Set Sprite" アクションはエコシステム [ Ecosystem ] にあるはずで
  すが、見当たらないこともあるようです。"Swap Sprite"でも代用で
  きます。欲しい方には再配布します。多分問題はないと思うので。)

Set Sprite で直接、画像を割り当てることが出来ますが、
意外と役立つ場面もあるかもしれません。


Set Sprite Value.zip

解凍して出来たフォルダ内の、SetSpriteValue.cs を
プロジェクト内 Assetsフォルダの中の
\Assets\PlayMaker_Custom_Actions\Sprite
等に入れてください。

PlayMakerのアクションブラウザのカテゴリ sprite 内に
SetSpriteValue アクションが追加されます。

不具合などは、コメント等にお願いします。


2022年1月23日日曜日

2D NavMesh をPlayMakerで

 公式フォーラムの投稿からです。

下記のトピックの Reply #3 の動画の中でPlayMaker を介して 2D NavMesh
を使っています。

FSM that lets NavMeshAgents go off the mesh

本ブログ内ページ
経路探索_パスファインディング で紹介しているアクションをそのまま利用できる
ようです。

2D NavMesh を使うには、 「NavMeshComponents の 2D 対応ブランチ」が必要です。
以下のブログ記事に使用法も含めてわかりやすく解説されています。

しっぽを追いかけて 「Unity で Tilemap に NavMesh をベイクしてみる」
https://www.matatabi-ux.com/entry/2021/03/04/100000

2022年1月12日水曜日

100%PlayMaker [Block_Defender_Android]

PlayMakerのみで作ったAndroidアプリです。
本ブログ記事で言えば、「2Dキャラ移動」や「弾の発射」等
比較的シンプルなアクション、ギミックで構成されています。

 

[説明]
上からミサイルがおちてきます。
砲台を左右に動かして、撃ち落としてください。
ミサイルは、撃ち漏らすとブロックを壊します。
ミサイルが一番下の陣地に当たると負けです。

砲台にミサイルが当たると、上のゲージが減ります。
ゲージがゼロになっても負けです。
ラウンドは30面まであります。
-----

当ゲームは、「試用版」と「正式版」があります。

アプリには広告や特別な条件、情報を送信する
仕組みなど一切ありません。
あくまで買い切りでご自身のアプリとして扱えます。

@「試用版」は無料で3面までプレイできます。
@
「正式版」は有料(150円)です。

試用版が正常に動けば、製品版も同様に動きます。
ぜひ製品版をPLAYしてください。

Google Play での紹介&インストール。
@試用版

https://play.google.com/store/apps/details?id=com.Running5Stick.app

 


@製品版(150YEN)

https://play.google.com/store/apps/details?id=com.Running5Stick.app

----

Tips

隕石はブロックを壊しますが、陣地には当たりません。
(隕石でゲームオーバーにはならない)

流れ星を撃つとボーナスステージに入ります。
そこで落ちてくる箱を撃つたびにゲージが増加し、ゲージが
いっぱいになるとパワーショットアイテムが落ちてきます。
パワーショットは3種類あります。

プレイ中、パッドから指を離すと、弾は発射されません。
星を撃たないという選択もできます。

「速」のアイテムを取ると移動速度が上がりますが、ラウンド
が変われば速度は元に戻ります。

公式ブログ nomegames 内紹介ページ