SWIFTUI

データの保存と読込み

ホームボタンで閉じるだけなら実行が止まるだけなので、再び開くと止まった所から再開する。 スワイプで完全に終了してしまうと内部のデータは全て消えてしまうので、それでも続きから再開したければ、データを保存する必要がある。 保存するデータが少量の…

サンプル作成中

Xーcodeで File>new>Project プロジェクトの作成だよ ios、SingleView App >next Product name プログラムの名前(今回はGAMEとした) ファイルの場所を指定して(デスクトップに作ったけど) ContentView.swift を含むプロジェクトが作成される。 Classを…

ゲームプログラムの基本構造

SWIFTで「動く」プログラムをつくる基本構造(構想) 表示はContentView.swiftで作成 動かすプログラムはObservableObjectとしてClassを作成して ContentViewの中で@EnvironmentObjectとしてインスタンス作成 Classのコンストラクタで初期設定して、タイマコ…

地球を描画

円の描画は Circle() .fill(Color.blue) .frame(width:200, height:200) .offset(x: 0, y: -0) 地球の直径 earth.d 地球の位置 earth.x earth.y 描画スケール scale がDoubleで与えられているとすると Circle() .fill(Color.blue) .frame(width:CGFloat(eart…

CGFloat

Viewの座標はCGFloat型で指定する。Double型で計算した値を直接渡すとエラーになるので型変換する必要がある。 let x: Double = 1.5 var xx: CGFloat xx = CGFloat(x) の様に型変換が必要。 引数として渡すときも xxx(x: CGFloat(width), y: CGFloat(height))

小数表示

SWIFTUIで小数を表示する方法 Cで言えば、sprintf なんだけど、ググってもなかなか出て来なかったので書いておく。 String(format: "AAA = %.3f km/h", 123.45) AAA = は数値の前に表示するだけ %.3f 数値を小数点以下3桁に変換 km/h も数値の後に表示する…

小数表示

SWIFTUIで小数を表示する方法 Cで言えば、sprintf なんだけど、ググってもなかなか出て来なかったので書いておく。 String(format: "AAA = %.3f km/h", 123.45) AAA = は数値の前に表示するだけ %.3f 数値を小数点以下3桁に変換 km/h も数値の後に表示する…

SWIFT UI タイマー

動画じゃない画像を動かそうと思ったら、一定時間ごとに座標やスケールを更新してやればよい。この時使うのがタイマー。 昔よくやったのは、ループで座標とかを変更し、そのままでは早く動きすぎてわからないので、タイマーというか、WAITを入れて動きの速さ…

HELP ビューの作成

アプリ本体からHELPボタンを押すとHELP画面が表示されて、戻るボタンを押すと元に戻るというのを作ってみる。 File>New>File... から SwiftUI VIEW を選んで、ファイル名はHelpView(別になんでもいい) できたファイルをこんなふうにしてみる import SwiftUI…

Unable to infer complex closure return type; add explicit type to disambiguate

自作のClassをいじってたら、ZStackに Unable to infer complex closure return type; add explicit type to disambiguate というエラーが表示された。 いじる前は正常に表示されていたので、ZStackそのものに問題はないはず。 実際、Classの方にエラーがあ…

SWIFT UI 画像の表示

ゲーム作成に画像は欠かせない。 jpgやpngで画像データを用意して、FinderからXCODEのAssets.xcassetesにドラッグ、 そうするとイメージのリストにファイル名拡張子なしで登録されるので、この名前を VIEW の Text("Hello") の代わりに Image("名前") で画像…

SWIFTUI 初歩の初歩

SWIFTを触るのも初めてで、web上の情報とか見ながら始めました。 SWIFTUI 最初はこんなコードが現れる import SwiftUI struct ContentView: View { var body: some View { Text("Hello, World!") } } struct ContentView_Previews: PreviewProvider { static…