2016-04-26 16 views
0

2つの画像を持つプログラムをコーディングしようとしました。私は1つの画像を移動するために4つのボタンを上下左右に使います。 そのイメージが他のイメージに到達すると、テキストフィールドが表示されます: "あなたは優勝者です!"Swiftの "期待される宣言"

ただし、If ...というコードを含む行には常に "Expected Declaration"エラーが発生します。どのように私はそれを実行することができます、pls?

これは、全体のコードで、2枚の画像の名前がConChimCuとチュンです:

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var txtBai: UITextView! 
    @IBOutlet weak var ConChimCu: UIImageView! 
    @IBOutlet weak var Trung: UIImageView! 

    @IBAction func Up(sender: AnyObject) { 
     ConChimCu.frame.origin.y = ConChimCu.frame.origin.y - 2 
    } 

    @IBAction func RIGHT(sender: AnyObject) { 
     ConChimCu.frame.origin.x = ConChimCu.frame.origin.x + 2 
    } 

    @IBAction func DOWN(sender: AnyObject) { 
     ConChimCu.frame.origin.y = ConChimCu.frame.origin.y + 2 
    } 

    @IBAction func LEFT(sender: AnyObject) { 
     ConChimCu.frame.origin.x = ConChimCu.frame.origin.x - 2 
    } 

    if ConChimCu.frame.origin.x == Trung.frame.origin.x { txtBai.text = "You are the winner!" 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
+0

可能な重複のXcode 6.2使用スウィフト](http://stackoverflow.com/questions/29835490/expected-declaration-error-xcode-6-2- swift) – vadian

答えて

2

あなたの文は関数内に配置する必要があります。

 


    func checkCollision() { 
     if ConChimCu.frame.origin.x == Trung.frame.origin.x { 
      txtBai.text = "You are the winner!" 
     } 
    } 

 
+1

私は彼が必要としていると思う。また、毎回移動後にその機能を呼び出す必要があります。 –

+0

私はあなたの助言に従う、エラーdoesntはもう表示されません。しかし、 "ConChimCu"が "Trung"に達すると、 "あなたは勝者です"というテキストが表示されません。 "func checkCollition()"を "func checkCollision()"に修正しましたが、何も起こりませんでした。 –

+0

@EvdzhanMustafaは何を提案しましたか? – Kingslayerpy

0

2つのこと、あなたは間違ってここに行っています。

  1. IF条件を関数スコープの外に書きました。 (@Kingslayerpyが示唆したように)
  2. 訂正後であっても、条件を呼んでいない。 (あなたのコメントによると私の理解によると)

だからここに解決策があります。

func checkCollision() { 
    if ConChimCu.frame.origin.x == Trung.frame.origin.x { 
     txtBai.text = "You are the winner!" 
    } 
} 

のような関数を作成し、あなたのすべてのボタンアクションからそれを呼び出します。

@IBAction func Up(sender: AnyObject) { 
    ConChimCu.frame.origin.y = ConChimCu.frame.origin.y - 2 
    checkCollision() 
} 

お楽しみください。] [予想される宣言エラーの

関連する問題