import SwiftUI struct ContentView: View { var body: some View { TabView { HomeView() .tabItem { Image(systemName: "house.fill") Text("Home") } GachaView() .tabItem { Image(systemName: "gift.fill") Text("Gacha") } TeamView() .tabItem { Image(systemName: "person.3.fill") Text("Team") } SettingsView() .tabItem { Image(systemName: "gearshape.fill") Text("Settings") } } .accentColor(.blue) // เปลี่ยนสีของ Tab Bar } } struct HomeView: View { var body: some View { ZStack { Image("background_home") // ใช้ภาพพื้นหลัง .resizable() .scaledToFill() .edgesIgnoringSafeArea(.all) VStack { Text("Welcome to Blue Archive Clone") .font(.title) .fontWeight(.bold) .foregroundColor(.white) .padding() Spacer() Button(action: { print("Go to Battle!") }) { Text("Battle") .font(.title2) .padding() .frame(maxWidth: .infinity) .background(Color.blue) .foregroundColor(.white) .cornerRadius(10) .padding(.horizontal, 20) } Spacer() } } } } // สร้างโครงหน้ากาชา struct GachaView: View { var body: some View { Text("Gacha System") .font(.title) } } // สร้างโครงหน้าทีม struct TeamView: View { var body: some View { Text("Team Management") .font(.title) } } // สร้างโครงหน้าตั้งค่า struct SettingsView: View { var body: some View { Text("Settings") .font(.title) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } import SwiftUI import SceneKit struct BattleView: View { var scene = SCNScene(named: "BattleScene.scn")! var body: some View { SceneView( scene: scene, options: [.allowsCameraControl, .autoenablesDefaultLighting] ) .edgesIgnoringSafeArea(.all) } } let player = SCNNode() player.geometry = SCNSphere(radius: 0.5) // ใช้ Sphere แทนตัวละครชั่วคราว player.position = SCNVector3(x: -2, y: 0, z: 0) let enemy = SCNNode() enemy.geometry = SCNSphere(radius: 0.5) enemy.position = SCNVector3(x: 2, y: 0, z: 0) scene.rootNode.addChildNode(player) scene.rootNode.addChildNode(enemy) func attackAction() { let attackMove = SCNAction.move(to: SCNVector3(1, 0, 0), duration: 0.5) let returnMove = SCNAction.move(to: SCNVector3(-2, 0, 0), duration: 0.5) let attackSequence = SCNAction.sequence([attackMove, returnMove]) player.runAction(attackSequence) } struct BattleView: View { var scene = SCNScene(named: "BattleScene.scn")! var body: some View { ZStack { SceneView( scene: scene, options: [.allowsCameraControl, .autoenablesDefaultLighting] ) .edgesIgnoringSafeArea(.all) VStack { Spacer() Button("Attack") { attackAction() } .padding() .background(Color.red) .foregroundColor(.white) .cornerRadius(10) } } } }
Standard input is empty
import SwiftUI struct ContentView: View { var body: some View { TabView { HomeView() .tabItem { Image(systemName: "house.fill") Text("Home") } GachaView() .tabItem { Image(systemName: "gift.fill") Text("Gacha") } TeamView() .tabItem { Image(systemName: "person.3.fill") Text("Team") } SettingsView() .tabItem { Image(systemName: "gearshape.fill") Text("Settings") } } .accentColor(.blue) // เปลี่ยนสีของ Tab Bar } } struct HomeView: View { var body: some View { ZStack { Image("background_home") // ใช้ภาพพื้นหลัง .resizable() .scaledToFill() .edgesIgnoringSafeArea(.all) VStack { Text("Welcome to Blue Archive Clone") .font(.title) .fontWeight(.bold) .foregroundColor(.white) .padding() Spacer() Button(action: { print("Go to Battle!") }) { Text("Battle") .font(.title2) .padding() .frame(maxWidth: .infinity) .background(Color.blue) .foregroundColor(.white) .cornerRadius(10) .padding(.horizontal, 20) } Spacer() } } } } // สร้างโครงหน้ากาชา struct GachaView: View { var body: some View { Text("Gacha System") .font(.title) } } // สร้างโครงหน้าทีม struct TeamView: View { var body: some View { Text("Team Management") .font(.title) } } // สร้างโครงหน้าตั้งค่า struct SettingsView: View { var body: some View { Text("Settings") .font(.title) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } import SwiftUI import SceneKit struct BattleView: View { var scene = SCNScene(named: "BattleScene.scn")! var body: some View { SceneView( scene: scene, options: [.allowsCameraControl, .autoenablesDefaultLighting] ) .edgesIgnoringSafeArea(.all) } } let player = SCNNode() player.geometry = SCNSphere(radius: 0.5) // ใช้ Sphere แทนตัวละครชั่วคราว player.position = SCNVector3(x: -2, y: 0, z: 0) let enemy = SCNNode() enemy.geometry = SCNSphere(radius: 0.5) enemy.position = SCNVector3(x: 2, y: 0, z: 0) scene.rootNode.addChildNode(player) scene.rootNode.addChildNode(enemy) func attackAction() { let attackMove = SCNAction.move(to: SCNVector3(1, 0, 0), duration: 0.5) let returnMove = SCNAction.move(to: SCNVector3(-2, 0, 0), duration: 0.5) let attackSequence = SCNAction.sequence([attackMove, returnMove]) player.runAction(attackSequence) } struct BattleView: View { var scene = SCNScene(named: "BattleScene.scn")! var body: some View { ZStack { SceneView( scene: scene, options: [.allowsCameraControl, .autoenablesDefaultLighting] ) .edgesIgnoringSafeArea(.all) VStack { Spacer() Button("Attack") { attackAction() } .padding() .background(Color.red) .foregroundColor(.white) .cornerRadius(10) } } } }