メインメニューを開く

差分

Xamarin.AndroidのViewとMonoGameを混在させる

575 バイト追加, 2021年12月29日 (水) 04:23
編集の要約なし
たとえばMonoGameには「文字入力」などという軟弱な概念はないので日本語入力対応のテキストボックスを使いたい場合や、[[Google AdMob]]で[[バナー広告]]を表示したい場合などが考えられる。
なお、この方法はなお、以下の方法は[[iOS]]対応などのマルチプラットフォーム対応などクソくらえである。などのマルチプラットフォーム対応などクソくらえである。[[ググる]]と「[[Xamarin.Forms]]と[[MonoGame]]で同様のことをやりたい」という事例が[[stackoverflow.com]]などで散見されたが、その解決策は「MonoGame使うのやめて[[CocosSharp]]を使え」というものであった。CocosSharpを軽く触ってみたが、[[物理演算]]のために[[固定フレームレート]]にしたいが設定方法がわからない、[[3Dモデル]]の描画方法がわからないなど、わからないことだらけで撃沈した。
== 実装例 ==
新規プロジェクトを作った直後に自動生成される[[ソースコード]]はこんな感じ。アクティビティにいきないMonoGameのViewを追加している。[[Xamarinはこんな感じ。アクティビティにいきないMonoGameのViewを追加している。つまりMonoGameの描画領域も普通のAndroid.Mac]]と違ってMonoGameも普通のViewじゃん。View.Viewから派生したものだ。 <sourcelang="csharp">
protected override void OnCreate(Bundle bundle)
{
</source>
MonoGameもXamarin.AndroidのViewの一種でした。ならば普通にAndroidならば普通にAndroid.Widget.Layoutに噛ませばいいんじゃね。 <sourcelang="csharp">
protected override void OnCreate (Bundle bundle)
{
g.Run();
}
</source>まじかよ。うごいた。[[category: Xamarin.Android]]== 関連項目 ==*[[category: MonoGame]]