Swiftで2Dのスクロールゲームを作ろうとしています
コードを触ること自体が全くの初心者なので
本も買いましたしログも漁ってみましたが
なかなか答を得ることが出来ません。どなたか助けてください
SpriteKitで作り始めました
自機を3つのパーツで構成し
各パーツに独自のプロパティを設定し
それぞれを換装できるような仕組みを作りたいです
Plistやenum、 UserDefaultに関するログも漁りましたが
どうしても理解が追いつきません
以下が現状書いてある部分のコードです
ring
core
wingはそれぞれ自機の構成パーツです
GameScene.swift
import SpriteKit
import GameplayKit
class GameScene: SKScene {
//Nodeのインスタンス化
var wing = SKSpriteNode()
var core = SKSpriteNode()
var ring = SKSpriteNode()
var title = SKSpriteNode() //タイトル
var startBottom = SKSpriteNode() //スタートボタン
override func didMove(to view: SKView) {
//背景の表示
var sizeRate: CGFloat = 0.0
var myShipSize = CGSize(width: 0.0, height: 0.0)
let offsetY = frame.height / 20
let fieldImageLength: CGFloat = 1125
for i in 0...Int(frame.size.width / fieldImageLength) + 1 {
for j in 0...Int(frame.size.height / fieldImageLength) + 1 {
let field = SKSpriteNode(imageNamed: "back")
field.position = CGPoint(x: CGFloat(i) * fieldImageLength, y: CGFloat(j) * fieldImageLength)
field.zPosition = -1
addChild(field)
}
}
//画像ファイルの読み込み
self.wing = SKSpriteNode(imageNamed: "w1")
self.ring = SKSpriteNode(imageNamed: "r1")
self.core = SKSpriteNode(imageNamed: "c1")
//自機を幅の1/6にするための倍率を求める
sizeRate = (frame.width / 1.2) / self.wing.size.width
//自機のサイズを計算する
myShipSize = CGSize(width: self.wing.size.width * sizeRate, height: self.wing.size.height * sizeRate)
//自機のサイズを設定する
self.wing.scale(to: myShipSize)
self.ring.scale(to: myShipSize)
self.core.scale(to: myShipSize)
//自機の表示位置を設定する
self.wing.position = CGPoint(x: 0, y: (-frame.height / 2) + offsetY + myShipSize.height / 2)
self.ring.position = wing.position
self.core.position = wing.position
//シーンに自機を表示する
addChild(self.wing)
addChild(self.ring)
addChild(self.core)
}
}