-1
建議您閱讀我的代碼第一:我點擊不工作
//
// PlaysScene.swift
// Pocket Rocket3
//
// Created by Lucas Farleigh on 27/11/2014.
// Copyright (c) 2014 Lucas Farleigh. All rights reserved.
//
import spriteKit
class PlayScene:SKScene {
//declaring the node in this scene!
let background = SKSpriteNode(imageNamed: "background")
let bara = SKSpriteNode(imageNamed: "bar6")
let barb = SKSpriteNode(imageNamed: "bar6")
let barc = SKSpriteNode(imageNamed: "bar6")
let bard = SKSpriteNode(imageNamed: "bar6")
let bare = SKSpriteNode(imageNamed: "bar6")
let barf = SKSpriteNode(imageNamed: "bar6")
let barg = SKSpriteNode(imageNamed: "bar6")
let barh = SKSpriteNode(imageNamed: "bar6")
let bari = SKSpriteNode(imageNamed: "bar6")
let barj = SKSpriteNode(imageNamed: "bar6")
let bar1 = SKSpriteNode(imageNamed: "bar6")
let bar2 = SKSpriteNode(imageNamed: "bar6")
let bar3 = SKSpriteNode(imageNamed: "bar6")
let bar4 = SKSpriteNode(imageNamed: "bar6")
let bar5 = SKSpriteNode(imageNamed: "bar6")
let bar6 = SKSpriteNode(imageNamed: "bar6")
let bar7 = SKSpriteNode(imageNamed: "bar6")
let bar8 = SKSpriteNode(imageNamed: "bar6")
let bar9 = SKSpriteNode(imageNamed: "bar6")
let bar10 = SKSpriteNode(imageNamed: "bar6")
let missile1 = SKSpriteNode(imageNamed:"Missile")
let missile2 = SKSpriteNode(imageNamed:"Missile")
let missile3 = SKSpriteNode(imageNamed:"Missile")
let missile4 = SKSpriteNode(imageNamed:"Missile")
let missile5 = SKSpriteNode(imageNamed:"Missile")
let missile6 = SKSpriteNode(imageNamed:"Missile")
let missile7 = SKSpriteNode(imageNamed:"Missile")
let missile8 = SKSpriteNode(imageNamed:"Missile")
let missile9 = SKSpriteNode(imageNamed:"Missile")
let missile10 = SKSpriteNode(imageNamed:"Missile")
let missile11 = SKSpriteNode(imageNamed:"Missile")
let missile12 = SKSpriteNode(imageNamed:"Missile")
let missile13 = SKSpriteNode(imageNamed:"Missile")
let missile14 = SKSpriteNode(imageNamed:"Missile")
let missile15 = SKSpriteNode(imageNamed:"Missile")
let rocket = SKSpriteNode(imageNamed:"rocket")
let shape1 = SKSpriteNode(imageNamed:"rocket")
let shape2 = SKSpriteNode(imageNamed:"shape")
var isTouch1 = false
var isTouch2 = false
var actionmove = SKAction.moveToY(-150, duration: 15)
override func didMoveToView(view: SKView) {
shape1.position = CGPointMake(300,CGRectGetMidY(self.frame))
shape2.position = CGPointMake(800,CGRectGetMidY(self.frame))
addChild(shape1)
shape1.xScale = 8.5
shape1.yScale = 10.0
shape2.xScale = 8.5
shape2.yScale = 8.5
var delay = SKAction.waitForDuration(NSTimeInterval(1.5))
var delchild = SKAction.removeFromParent()
var rand = arc4random_uniform(10)
missile1.yScale = 0.5
missile2.yScale = 0.5
missile3.yScale = 0.5
missile4.yScale = 0.5
missile5.yScale = 0.5
missile6.yScale = 0.5
missile7.yScale = 0.5
missile8.yScale = 0.5
missile9.yScale = 0.5
missile10.yScale = 0.5
let delayA = SKAction.waitForDuration(NSTimeInterval(2.0))
let delayB = SKAction.waitForDuration(NSTimeInterval(4.0))
let delayC = SKAction.waitForDuration(NSTimeInterval(6.0))
let delayD = SKAction.waitForDuration(NSTimeInterval(8.0))
let delayE = SKAction.waitForDuration(NSTimeInterval(10.0))
let delayF = SKAction.waitForDuration(NSTimeInterval(12.0))
let delayG = SKAction.waitForDuration(NSTimeInterval(14.0))
let delayH = SKAction.waitForDuration(NSTimeInterval(16.0))
let delayI = SKAction.waitForDuration(NSTimeInterval(18.0))
let delayJ = SKAction.waitForDuration(NSTimeInterval(20.0))
var missile1Hide = SKAction.runBlock({
self.missile1.hidden = true
})
var missile2Hide = SKAction.runBlock({
self.missile2.hidden = true
})
var missile3Hide = SKAction.runBlock({
self.missile3.hidden = true
})
var missile4Hide = SKAction.runBlock({
self.missile4.hidden = true
})
var missile5Hide = SKAction.runBlock({
self.missile5.hidden = true
})
var missile6Hide = SKAction.runBlock({
self.missile6.hidden = true
})
var missile7Hide = SKAction.runBlock({
self.missile7.hidden = true
})
var missile8Hide = SKAction.runBlock({
self.missile8.hidden = true
})
var missile9Hide = SKAction.runBlock({
self.missile9.hidden = true
})
var missile10Hide = SKAction.runBlock({
self.missile10.hidden = true
})
var missile1show = SKAction.runBlock({
self.missile1.hidden = false
})
var missile2show = SKAction.runBlock({
self.missile2.hidden = false
})
var missile3show = SKAction.runBlock({
self.missile3.hidden = false
})
var missile4show = SKAction.runBlock({
self.missile4.hidden = false
})
var missile5show = SKAction.runBlock({
self.missile5.hidden = false
})
var missile6show = SKAction.runBlock({
self.missile6.hidden = false
})
var missile7show = SKAction.runBlock({
self.missile7.hidden = false
})
var missile8show = SKAction.runBlock({
self.missile8.hidden = false
})
var missile9show = SKAction.runBlock({
self.missile9.hidden = false
})
var missile10show = SKAction.runBlock({
self.missile10.hidden = false
})
var position1 = SKAction.runBlock({
self.missile1.position = CGPointMake(600,850)
})
var position2 = SKAction.runBlock({
self.missile2.position = CGPointMake(300,850)
})
var position3 = SKAction.runBlock({
self.missile3.position = CGPointMake(100,850)
})
var position4 = SKAction.runBlock({
self.missile4.position = CGPointMake(900,850)
})
var position5 = SKAction.runBlock({
self.missile5.position = CGPointMake(300,850)
})
var position6 = SKAction.runBlock({
self.missile6.position = CGPointMake(600,850)
})
var position7 = SKAction.runBlock({
self.missile7.position = CGPointMake(200,850)
})
var position8 = SKAction.runBlock({
self.missile8.position = CGPointMake(600,850)
})
var position9 = SKAction.runBlock({
self.missile9.position = CGPointMake(900,850)
})
var position10 = SKAction.runBlock({
self.missile10.position = CGPointMake(200,850)
})
let sequence1 = SKAction.sequence([missile1Hide,delayA,position1,missile1show,actionmove])
let sequence2 = SKAction.sequence([missile2Hide,delayB,position2,missile2show,actionmove])
let sequence3 = SKAction.sequence([missile3Hide,delayC,position3,missile3show,actionmove])
let sequence4 = SKAction.sequence([missile4Hide,delayD,position4,missile4show,actionmove])
let sequence5 = SKAction.sequence([missile5Hide,delayE,position5,missile5show,actionmove])
let sequence6 = SKAction.sequence([missile6Hide,delayF,position6,missile6show,actionmove])
let sequence7 = SKAction.sequence([missile7Hide,delayG,position7,missile7show,actionmove])
let sequence8 = SKAction.sequence([missile8Hide,delayH,position8,missile8show,actionmove])
let sequence9 = SKAction.sequence([missile9Hide,delayI,position9,missile9show,actionmove])
let sequence10 = SKAction.sequence([missile10Hide,delayJ,position10,missile10show,actionmove])
let s1 = SKAction.sequence([position1,actionmove])
let s2 = SKAction.sequence([position2,actionmove])
let s3 = SKAction.sequence([position3,actionmove])
let s4 = SKAction.sequence([position4,actionmove])
let s5 = SKAction.sequence([position5,actionmove])
let s6 = SKAction.sequence([position6,actionmove])
let s7 = SKAction.sequence([position7,actionmove])
let s8 = SKAction.sequence([position8,actionmove])
let s9 = SKAction.sequence([position9,actionmove])
let s10 = SKAction.sequence([position10,actionmove])
let r1 = SKAction.repeatActionForever(s1)
let r2 = SKAction.repeatActionForever(s2)
let r3 = SKAction.repeatActionForever(s3)
let r4 = SKAction.repeatActionForever(s4)
let r5 = SKAction.repeatActionForever(s5)
let r6 = SKAction.repeatActionForever(s6)
let r7 = SKAction.repeatActionForever(s7)
let r8 = SKAction.repeatActionForever(s8)
let r9 = SKAction.repeatActionForever(s9)
let r10 = SKAction.repeatActionForever(s10)
//actionmove: making it smooth
//doing stuff with the background
background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
background.yScale = 10.0
background.xScale = 10.0
addChild(background)
addChild(rocket)
rocket.yScale = 0.3
rocket.xScale = 0.6
addChild(missile1)
addChild(missile2)
addChild(missile3)
addChild(missile4)
addChild(missile5)
addChild(missile6)
addChild(missile7)
addChild(missile8)
addChild(missile9)
addChild(missile10)
self.missile1.runAction(sequence1, completion:{
self.missile1.runAction(r1)
})
self.missile2.runAction(sequence2, completion:{
self.missile1.runAction(r2)
})
self.missile3.runAction(sequence3, completion:{
self.missile1.runAction(r3)
})
self.missile4.runAction(sequence4, completion:{
self.missile1.runAction(r4)
})
self.missile5.runAction(sequence5, completion:{
self.missile1.runAction(r5)
})
self.missile6.runAction(sequence6, completion:{
self.missile1.runAction(r6)
})
self.missile7.runAction(sequence7, completion:{
self.missile1.runAction(r7)
})
self.missile8.runAction(sequence8, completion:{
self.missile1.runAction(r8)
})
self.missile9.runAction(sequence9, completion:{
self.missile1.runAction(r9)
})
self.missile10.runAction(sequence10, completion:{
self.missile1.runAction(r10)
})
rocket.position = CGPointMake(100, 200)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
shape1.name = "shape1"
shape2.name = "shape2"
var moveright = SKAction.moveToX(rocket.position.x + 50, duration:10)
var moveleft = SKAction.moveToX(rocket.position.x - 50 , duration:10)
var location = touch.locationInNode(self)
let node = self.nodeAtPoint(location)
println("hello")
}
}
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
var moveright = SKAction.moveToX(rocket.position.x + 5, duration:10)
var moveleft = SKAction.moveToX(rocket.position.x - 5, duration:10)
var location = touch.locationInNode(self)
let node = self.nodeAtPoint(location)
}
}
}
您好,我一直在努力了很長的時間做到這一點,我的問題是,當我點擊形狀1(你會了解你是否閱讀了代碼)當它應該打印出「你好」並且它沒有打印時它什麼也不做。我試圖改變圖像,但這並沒有改變任何東西。但是當我採用if語句並離開println,並且當我點擊它時打印出你好。 在此先感謝!
其中是if語句? – rakeshbs 2015-02-10 14:31:48
你有沒有考慮過使用[arrays](https://developer.apple.com/library/ios/documentation/General/Reference/SwiftStandardLibraryReference/Array.html)來存儲多個對象。這將允許你一次又一次地寫更少的相同的代碼,所以不太容易出錯。例如,你可以放:'var bars = [SKSpriteNode]()'然後在init do中爲我在0 .. <10 {bars.append(SKSpriteNode(imageNamed:「bar6」)}'然後訪問每個條'bars [0] .position = somePosition',其中0是數組中的第一個條。如果你搜索swift數組,你可以找到一些很好的教程來開始。 – Okapi 2015-02-11 18:54:57