TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Google cloud skdをインストールするとERROR: gcloud failed to load: dlopenが出る

Google cloud skdをインストールすると以下のエラーが出てインストールはできるけどgcloudコマンドが正しく動きませんでした。

ERROR: gcloud failed to load: dlopen(PATH/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /PATH/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so

解決策

pyenv 環境で Google Cloud SDK をインストールする - Qiita

export CLOUDSDK_PYTHON=$(which python2)

をzshrc(or bash_profile)に記述すると動きました。

pyenvを使っているとこのエラーに出あうみたいです。

Unity: UniRxのReactivePropertyで値が同じでも通知したい

状況

ReactivePropertyは値が同じ時は購読側に通知をしません。
通常はこれで問題ないのですが、通知して欲しい時がありました。

neuecc on Twitter: "UniRxだと通知飛ばす側がSetValueAndForceNotifyで強制的に飛ばせるって作りになってますね(定義側での挙動指定はできない)… "

使用方法

SetValueAndForceNotify

を使用すれば良いみたいです。

model.Count.Value = 1 // 同じ値は通知されない
// ↓
model.Count.SetValueAndForceNotify(1) // 同じ値でも通知される

必要だった状況

購読しているメソッド内部でifで分岐しており、メソッド外部の値を参照していました。

public void BindCount(int count) {
    if (this.level == 1) {
        // ~~~
    } else {
       // ~~~
    }
}

このメソッドではthis.levelというメソッド外部の値を参照していたため、this.levelが変わると、valueが同じでも、メソッドが再度実行されないといけない作りになっていました。
そのため、SetValueAndForceNotifyが必要となりました。

ですが、this.levelという値を参照をすべきではなく、ReactivePropertyをthis.levelとcountの2つの値で合成すべきでした。そうすれば、SetValueAndForceNotifyを使用する必要がなく、バグが引き起こされることもなかったと思います。

(なぜthis.levelを参照した作りにしたかというと、面倒だったので横着しました・・・(戒め))

結論

SetValueAndForceNotifyを使うか、合成したReactivePropertyを使用する。

Unity: mainTemplate.gradle file is using the old aaptOptions noCompress property definition which does not include types defined by unityStreamingAssets constant.

現象

mainTemplate.gradle file is using the old aaptOptions noCompress property definition which does not include types defined by unityStreamingAssets constant.<<<
2020.2にUnityをアップデートしてAndroidビルドをすると上のようなエラーメッセージが出現した。

環境

  • unity 2020.2.1f
  • Firebase

対処法

UnityPlayer.displayChanged() method to add a Surface as an additional display - Unity Forum
aaptOptionsの中に↓を追加する

noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')

fastlane: 「An attribute value is not acceptable for the current resource state. - The attribute 'releaseType' can not be modified」

現象

An attribute value is not acceptable for the current resource state. - The attribute 'releaseType' can not be modified

原因

iTunes Connectの「予約注文を利用可能にする」にチェックが入っているため

解決方法

もしかしたら設定があるかもしれませんが、とりあえず、iTunes Connectの「予約注文を利用可能にする」のチェックをオフにするとfastlaneが正常に動作しました。

予約TOP10に自作ゲーム「スチームパペット」の登録までこぎつけれました!

趣味で自作ゲームを作っていましたが、事前登録サイトの予約TOP10に「スチームパペット」を登録までこぎつけました!

yoyaku-top10.jp


個人製作は4作目?になりますが、少しずつやれることが増えていき、クオリティが少しずつですが上がってきたような気がします。
このゲームを作りはじめて8ヶ月?10ヶ月?くらいコツコツと作ってきたので完成までは少しありますが、事前登録サイトまでこぎつけれたのはとても嬉しいです。

登録したサイトでは以下のような感じになっています。(スクショ)

f:id:TAKOYAKING:20201209172318p:plain

自分的にはぱっと見るとちゃんと掲載できているような気がしているので満足しています。
だんだんこういったスクリーンショットをとって編集する作業も慣れてきたように思えます。

ゲーム内容

youtu.be
ゲーム形式は攻撃側と防御側で別れて、攻撃側は弾丸を飛ばしながら敵ブロックを破壊していき、クリスタルを破壊すると勝ちで、防御側は攻められないように予めブロックで壁を構築して、クリスタルを守り切れば勝ちというゲームです。

星3システムなので星3を無理に取りに行くのか手堅く行くのかの駆け引きも面白みの一つです。

Affinity Designer: 回転のアンカーを変更する

内容

回転の中心を変更します。

作業

f:id:TAKOYAKING:20201102093528p:plain
左上のサッカーボールみたいなアイコンをクリックします。

f:id:TAKOYAKING:20201102093624p:plain
画像の中心にサッカーボールみたいなのが現れます。
これを移動してあげると回転のアンカーを変更できます。

Firebase: firebase deploy --only functionsを実行すると403エラー

現象

firebase deploy --only functions

を行うと

Error: HTTP Error: 403, Unknown Error

が出ました。

解決策

Error: HTTP Error: 403, Unknown Error · Issue #641 · firebase/firebase-tools · GitHub
上のスレッドにあるように

firebase logout
firebase login

再度ログインしなおせばうまくいきました。