06 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 08

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】DoTweenのSequenceにOnCompleteつけてやりたいんだけど、うまくいかなかったんよ。結果できました! 

こんにちは!くっそ暑い日が続いてますね!
部屋から出たら死にそうになります。坂内です。

さて、本日はDoTweenの話。
DoTweenSequenceって皆さんお使いになられてますか?

簡単に連続してTweenができる優れもの。

例えば、こんな感じにImageを並べて



こんな感じにコードを書けば。

DoTweenTest.cs】
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;

public class DoTweenTest : MonoBehaviour {

public Image[] tiles;

private void Start() {
Sequence tileSeq = DOTween.Sequence();
tileSeq.Append(tiles[0].DOFade(0f, 2f));
tileSeq.Append(tiles[1].DOFade(0f, 2f));
tileSeq.Append(tiles[2].DOFade(0f, 2f));
tileSeq.Play();
}
}


こうなります。



DoTweenのTweenスタート時、Tween終了時に処理を加えることができます。

DoTweenTest.cs】
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;

public class DoTweenTest : MonoBehaviour {

public Image[] tiles;

private void Start() {
Sequence tileSeq = DOTween.Sequence()
.OnStart(() => {
StartProc();
});
tileSeq.Append(tiles[0].DOFade(0f, 2f));
tileSeq.Append(tiles[1].DOFade(0f, 2f));
tileSeq.Append(tiles[2].DOFade(0f, 2f));
tileSeq.Play();
}

void StartProc() {
Debug.Log("はじまり");
}

void EndProc() {
Debug.Log("終わり");
}
}


OnStartはちゃんと入るのですが、OnCompleteを書こうとすると、エラーになって書けない…
書き方がいけないのかな?


ここじゃない?
ここ?


ここも違う?どこ?

ここも違う!!

こうなったら先生がゴロゴロしているツイッターにきいてやれ!

で、先生がいうには。


なんだって!?ヽ(゚Д゚;)ノ!!

【DoTweenTest.cs】
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;

public class DoTweenTest : MonoBehaviour {

public Image[] tiles;

private void Start() {
Sequence tileSeq = DOTween.Sequence();
tileSeq.OnStart(() => StartProc());
tileSeq.Append(tiles[0].DOFade(0f, 2f));
tileSeq.Append(tiles[1].DOFade(0f, 2f));
tileSeq.Append(tiles[2].DOFade(0f, 2f));
tileSeq.OnComplete(() => EndProc());
tileSeq.Play();
}

void StartProc() {
Debug.Log("はじまり");
}

void EndProc() {
Debug.Log("終わり");
}
}


こんな書き方できるらしいっす。

さすが先生。

これで、シーケンス使ったDoTweenで、最初や最後に別関数を呼べますね!

それでは今日はこれくらいでお暇します。

あでゅ~ノシ
スポンサーサイト

Category: 開発日記(Unity)

Tag: Unity  DoTween  Sequence  uGUI  ゲーム開発 
tb 0 : cm 0   

【ハルシオンブログ】uGUIのオブジェクトのフェードとかの話 

こんにちは。
大坂です。

今週も適当に...

オブジェクトのフェードとかやるときにDoTweenとかを使ってますが、他の方法も。
まぁ別に必要ないといえばないですが。

Unityでこんなのが用意されてますね。
CrossFadeAlpha
https://docs.unity3d.com/jp/current/ScriptReference/UI.Graphic.CrossFadeAlpha.html

まぁ書いてある通りの使い方ですね。
こんな感じで書くとフェードで透過していってくれます。
  public Image img;

void Start () {
img.CrossFadeAlpha(0, 1f, true);
}




リファレンスにも書いてありますが、CanvasRendereのアルファ値を変更していて、
Image自体のColorのアルファを変えているわけではないので少し注意が必要ですかね。
確かに実行後のImageのColorを見ても変わってませんね。


あとは、フェードで色を変えてくれる
CrossFadeColor
https://docs.unity3d.com/ja/current/ScriptReference/UI.Graphic.CrossFadeColor.html
もあります。
  public Image img;

void Start () {
img.CrossFadeColor(Color.gray, 1f, true, true);
}




使いどころがあるといいですね!
ではまたノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】ポケガ1のアプデが近々あるよ!着せ替えに水着が追加!!!あ、ほんとネタないのでそれくらいですorz 

おはようございま!坂内っす。
3連休ごっつ暑かったですね!熱中症で14人もなくなったとか・・・
まだまだ暑い日が続きます、みなさんお気をつけてくださいませ。

毎日が暑いので、近々ポケガ1に水着の着せ替え入れますね!
ちょっと初期の値段高いんだけど、イベントで水着の素材を集めればタダでもらえるってシステムいれてみた!
全部集めなくても素材を集めた分安くなるよ!
詳しくはホーム画面のインフォボタンを押してみて!
(近々アップデートするver3.50のお話です)


それと、魚津のゲームつくーるイベントにわたくし参加します。(たぶん)
https://www.uozugame.com/
あのモヒカン開発者(@pouhiroshi)と某魚津の開発者(@mkzk_develop)さんとなんか作ります。
お楽しみに!(作ったものが一般公開される日があるかわかりませんが)

そしてネタがなくて、なにもでないのでこれくらいで許してください。

それでは皆さん、暑さに負けないで頑張りましょう!

あでゅ~ノシ

Category: Androidアプリ紹介

tb 0 : cm 0   

【ハルシオンブログ】Startってvoidじゃなくてもいいんすね。 

こんにちは。
大坂です。

なんかよくわかりませんが体調崩しました。
皆さんも体調管理にはお気を付けを。

今週もタイトル通りの大した話ではないですが書いていきますよ。

UnityでC#スクリプトを作るとフォーマット変えてなければ大体こんな感じでStartとかがデフォルトで書いてありますね。
  // Use this for initialization
void Start () {

}

でまぁ、使うかどうかは別としてStartをコルーチンにしたりできるようですね。
  // Use this for initialization
IEnumerator Start () {

}

適当なゲームオブジェクトにつけてやるだけでちゃんとStartがコルーチンとして呼ばれます。
Startの処理で他のコルーチンを待ってから処理させたいとかあれば使えるかもしれませんね。

まぁコード書く手間がちょっと減るくらいなもんですが。。
  // Use this for initialization
void Start () {
StartCoroutine(Init());
}

private IEnumerator Init() {
yield return StartCoroutine(BlogTest());
Debug.Log("BlogTest");
}

private IEnumerator BlogTest() {
yield return new WaitForSeconds(3f);
}
こう書くか。

  // Use this for initialization
IEnumerator Start () {
yield return StartCoroutine(BlogTest());
Debug.Log("BlogTest");
}

private IEnumerator BlogTest() {
yield return new WaitForSeconds(3f);
}
こう書くかってくらいの差ですかね?

ちなみにAwakeとかUpdateはコルーチンにするとエラーが出ますよ。


こんなことができるよってだけの話ですが今週もこれにてノシ

Category: 開発日記(Unity)

tb 0 : cm 0   

【ハルシオンブログ】UnityCollabとCloudBuild試してみたった。意外と簡単ですね? 

おはようございます。坂内っす。
なんか朝方雷が鳴ってたような気がしましたが、夢だったのかなんなのか。

さて、今日の話題は「Collab」と「Cloud Build」の方法について。

以前から嘆いている「うちのMacMini古すぎて、XCode9にアップグレードできないよぉぉぉー!2018年7月からXCode9じゃないとAppStoreにアプリあげれないよおおお!」に対処すべく(新しいMac買うお金ないです)、「CloudBuildならいけるんでは!?」に思考がたどり着きました。

今までやったことのないCollabとCloudBuildに手を付けてみました。

【Unity Collab】
なんかUnity5辺りからある機能らしいっす。
イメージ的にはGitとかそういう感じ?
どこまで何ができるかは分からないけど、まぁプロジェクトを上げておくことができるぽいっす。

もちろんUnityのアカウントにプロジェクトが紐づけられていること前提。

①Collabボタンを押し、出てきたウィンドウの「Start Now!」を押してみる



Collabの準備ができると、青いマークが各ファイルや上のCollabのところにつきます。



②準備ができたらもう一度Collabボタンを押す
コメントを書いて、Publish Now!!



プロジェクトによってですが、はじめは長いです。

んで、これが100%になり、以下のようになったら終わり。


以上でUnityCollabにファイルをアップロードできました。

あとは、メンバー追加したり色々できるぽいですが、Collabはここまで。

【Cloud Build】
①ServiceタブのCloudBuildをONにします



ONにするとこんな画面になります。

ここで何ビルドをするのか選ぶことができます。
AndroidやIOS等。

今回はAndroidビルドなので、Keystoreの情報等を入力して、Next:Buildボタンを押すと、ビルドしてくれちゃうんです!


これがビルド中の画面


青文字でQueuedって書いてるところがステータスですね。
ビルドが失敗もしくは成功したときにはメールで知らせてくれます。

ビルドが失敗したときは、Logを見て手直ししての繰り返しになります。

今回はAndroidをやりましたが、IOSもできるのでこれでMacなくてもリリースできますね!

ってことで、ちょー簡単ですがCollabとCloudBuild触ってみました!
思ったより簡単に使えていいかなーってのが感想。

ちゃんと使うと違うのかもしれないけど、とりあえずクラウドビルドはこれでできましたよ!

それじゃ あでゅ~ノシ

Category: Androidアプリ紹介

tb 0 : cm 0