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)
}
}
}
}