なぜでしょうか?
先ほどまでできていたのでできるはずですができません。
解決
新しいレイアウトになり、一旦リリーを作成すると「リリース」タブに表示されます。
なので「リリースダッシュボード」から「リリース」タブへ移動して、既存のものを編集するか、または、破棄することで右上の「新しいリリースを作成」が活性になります
感想
まだ新しいレイアウトに慣れていないから、戸惑いました。
なぜでしょうか?
先ほどまでできていたのでできるはずですができません。
新しいレイアウトになり、一旦リリーを作成すると「リリース」タブに表示されます。
なので「リリースダッシュボード」から「リリース」タブへ移動して、既存のものを編集するか、または、破棄することで右上の「新しいリリースを作成」が活性になります
まだ新しいレイアウトに慣れていないから、戸惑いました。
Cannot add menu item 'Assets/External Dependency Manager/Package Manager Resolver/Migrate Packages' for method 'PackageMigrator.MigratePackages' because a menu item with the same name already exists.
UnityEditor.EditorApplication:Internal_InvokeTickEvents()
PackageMigrator.MigratePackagesは別の名前で同じような注意文がたくさん出ます。
理由はメッセージの通りで重複が起こっているためです。
Assets以下のところにあるものと、package managerに入っているものと両方被っていました。
なので、package managerの方を削除すると注意文が消えます。
これで様子見してみます。
攻撃範囲の円を表す時に9スライスでやれば良いかなと思ったのですが、9スライスは4角を使って拡大縮小するのでできません。
歪な形になってしまいます。
元は円の画像がこんな感じになります。↓
How can I draw a circle in Unity3D? - Stack Overflow
解決策は3パターン?
1. LineRendererで円を描く
2. shaderで円を描く
3. 普通に画像で描き、拡大縮小を気にしない
今回は3の普通に画像で描きました。
拡大縮小しても何も気にならなかったので良しとします。
久々にAdmobを触ることになりましたが、公式によると
スタートガイド | Unity | Google Developers
旧形式
MobileAds.Initialize(appId);
新形式
MobileAds.Initialize(initStatus => { });
新形式はappIdを引数に取らなくなり、
[Assets] > [Google Mobile Ads ] > [Settings] からandroidとiOSのappIdを入力するようになりました。
Help Wanted - Why doesn't Multiply work to change the texture color in Unlit vs Lit? - Unity Forum
ここに書いてました。
propertyのcolorのalpha値が0になっているためです。
初期値のalphaが0になっているとは気付きませんでした。結構ハマりました。
Unity - Scripting API: Bounds.size
SpriteRenderer.bounds.sizeは画像の大きさを取得できます。
普通の画像ならこっち使っておけばOK! (雑な説明)
Unity - Scripting API: SpriteRenderer.size
SpriteRenderer.sizeはSpriteRendeerer.drawModeがSlicedになっている時にサイズを取得できます。
ややこしい!
The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(WeaponBlockVars) <ObjType>k__BackingField
Unityのエラー「The same field name is serialized multiple times in the class or its parent class.」について - Qiita
この記事によると「継承元と継承先のクラスの同名Private変数をSerializeできないため」と書いてあったのですが、interfaceを継承した基底クラスのフィールドをoverrideした時にもなぜか発生するようです。
ただ、SerializeFieldとして出現するわけではないのに、このメッセージが出るのは気持ち悪いので、いろいろ検索してみました。
↓バグではないか?という記事
The same field name is serialized multiple times in the class or its parent class. This is not supported · Issue #1032 · accord-net/framework · GitHub
↑の記事によると一旦リネームして、もとに戻せば直るよということでしたが、直りませんでした。
1. Addressablesのnew buildを行う
2. 再生ボタンを押す
とエラーが出力されます。
interfaceとMonoBehaviourを継承したBaseクラス。
そのBaseクラスを継承した派生クラス。
その派生クラスではBaseクラスのinterfaceメソッドをoverrideする。
public interface ISample { int Takoyaki { get; set;} } public class Base : MonoBehaviour, ISample { public virtual int Takoyaki { get; set;} = 1; } public class Derived: Base { public override int Takoyaki { get; set;} = 777; //←これがダメらしい・・・ }
不明。上記のコードで再現するけどいろいろゴニョゴニョやっている内に上記のコードはエラーが出なくなってしまった。
モヤッとする・・・