アットウィキロゴ

サンプルコード

ボタンを押した時にアラートを出すプログラム

import UIKit
class ViewController: UIViewController {
   let myButton: UIButton = UIButton()
   
   override func viewDidLoad() {
       super.viewDidLoad()
   }
   
   override func viewDidAppear(animated: Bool) {
       
       // Viewの背景をCyanに設定する.
       self.view.backgroundColor = UIColor.cyanColor()
       
       // Buttonの定義する.
       myButton.frame = CGRectMake(0,0,200,40)//大きさ決めてる
       myButton.backgroundColor = UIColor.redColor()
       myButton.layer.masksToBounds = true
       myButton.setTitle("UIAlertを発動", forState: UIControlState.Normal)
       myButton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
       myButton.layer.cornerRadius = 20.0
       myButton.layer.position = CGPoint(x: self.view.frame.width/2, y:200)
       myButton.addTarget(self, action: "onClickMyButton:", forControlEvents: .TouchUpInside)
       
       // ボタンをViewに追加する
       self.view.addSubview(myButton)
   }
   
   /*
   ボタンイベント
   */
   func onClickMyButton(sender: UIButton){
       
       // UIAlertControllerを作成する.
       let myAlert = UIAlertController(title: "ボタンが押されました", message: "確認", preferredStyle: .Alert)
       
       // OKのアクションを作成する.
       let myOkAction = UIAlertAction(title: "OK", style: .Default) { action in
           println("Action OK!!")
       }
       
       // OKのActionを追加する.
       myAlert.addAction(myOkAction)
       
       // UIAlertを発動する.
       presentViewController(myAlert, animated: true, completion: nil)
   }
   
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
   }
}



ボタンを押すと設定したwebページに移動するプログラム


import UIKit

class ViewController: UIViewController, UIWebViewDelegate {
   let myWebView : UIWebView = UIWebView()

   @IBAction func mybotton(sender: AnyObject) {
 
       super.viewDidLoad()
   


       // Delegateを設定する.
       myWebView.delegate = self
       
       // WebViewのサイズを設定する.
       myWebView.frame = self.view.bounds
       
       // Viewに追加する.
       self.view.addSubview(myWebView)
       
       // URLを設定する.
       let url: NSURL = NSURL(string: "http://www46.atwiki.jp/swift-matome/)
       
       // リクエストを作成する.
       let request: NSURLRequest = NSURLRequest(URL: url)
       
       // リクエストを実行する.
       myWebView.loadRequest(request)


   }


   /*
   Pageがすべて読み込み終わった時呼ばれる
   */
   func webViewDidFinishLoad(webView: UIWebView!) {
       println("webViewDidFinishLoad")
   }
   
   /*
   Pageがloadされ始めた時、呼ばれる
   */
   func webViewDidStartLoad(webView: UIWebView!) {
       println("webViewDidStartLoad")
   }
   
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
   }
   
   
}


音楽再生プログラム


import UIKit

class ViewController: UIViewController {

   let sEManager: SEManager = SEManager()
   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.
   }
   
   @IBAction func fishTapped(sender:UIButton) {
       var transform:CGAffineTransform
       var duration:Double
       var sEName:String
       
       switch sender.tag{
       
       case 1:
           //変形を指定(この場合は回転)
           transform = CGAffineTransformMakeRotation(CGFloat(0.25*M_PI))//MPI パイ
           //アニメーションの所要時間を指定
           duration = 0.1 //1秒かけて45度か回転させる
           //再生する音声ファイルの指定
           sEName = "j.mp3"
      
       case 2:
           transform = CGAffineTransformMakeScale(1.5, 1.5)//サイズを1.5倍にして元に戻す
           duration = 1.2
           sEName = "d.mp3"
       
       case 3:
           transform = CGAffineTransformMakeTranslation(0, -50)
           duration = 0.6
           sEName = "3.mp3"
      
       case 4:
           transform = CGAffineTransformMakeScale(1.3,1.3)
           duration = 1.0
           sEName = "4.mp3"
           
       case 5:
           transform = CGAffineTransformMakeScale(1.3,1.3)
           duration = 1.0
           sEName = "re.mp3"
           
           
       default:
           transform = CGAffineTransformMakeScale(0.75, 0.75)
           duration = 1
           sEName = "d.mp3"
       }
       
       UIView.animateWithDuration(duration, animations: { () -> Void in
           sender.transform = transform
       })
       { (Bool) -> Void in
           UIView.animateWithDuration(duration, animations: { () -> Void in
               sender.transform = CGAffineTransformIdentity
               })
               { (Bool) -> Void in
                   
           }
       }
       
       sEManager.play(soundName: sEName)
   }
}


丸ばつgame
GameScene

import SpriteKit

class GameScene: SKScene {
   var turn_maru = true //ture ならまるのばん false ならばつのばん


   required init(coder aDecoder:NSCoder!){
       fatalError("NSCoder not supported")
   }
   
  
   

   
   override init(size: CGSize) {
       super.init(size: size)
       
       anchorPoint = CGPoint(x: 0, y: 0)//画面の左はしの座標は0,0と決まっている
       let background = SKSpriteNode(imageNamed: "ban")//静止がを表示させている
       background.position = CGPoint(x: 0, y: 0)//ここで画像の位置を決める
       background.anchorPoint = CGPoint(x: 0, y: 0)
       addChild(background)//表示
   }
   
   


   override func update(currentTime: CFTimeInterval) {
       /* Called before each frame is rendered */
       
   }
       func transform(w: CGFloat) -> CGFloat {
           switch w {
           case let w where 0 < w && w < 80:
               return 0
           case let w where 80 < w && w < 160:
               return 80
           case let w where 160 < w && w < 240:
               return 160
           default:
               return -80
           }
       }
   
  
   
   //画像を配置して表示するmarkメソッドをGameSceneクラスに追加する
   func mark(location: CGPoint){
       let imageName = turn_maru ? "batu" : "maru"
       let sign = SKSpriteNode(imageNamed: imageName)
       sign.position = CGPoint(x: transform(location.x),y:160 - transform(location.y - 320))
       sign.anchorPoint = CGPoint(x:0,y:0)
       addChild(sign)
       
       turn_maru = !turn_maru
       
   }
   
   
}



GameViewController.swift
import UIKit
import SpriteKit



class GameViewController: UIViewController, UIGestureRecognizerDelegate {// UIGestureRecognizerDelegateでクラスにプロトコルを追加している
   var scene: GameScene!
   
   
   override func viewDidLoad() {
       super.viewDidLoad()
       
       let skView = view as SKView
       skView.multipleTouchEnabled = false
       
       scene = GameScene(size: skView.bounds.size) //sceneにskView bounds sizeを作成し
       scene.scaleMode = .AspectFill
       skView.presentScene(scene)//presentSceneにGameSceneを渡す
       


       }
   
   

   override func shouldAutorotate() -> Bool {
       return true
   }

   @IBAction func didTap(sender: UITapGestureRecognizer) {//didTapのコード 
       let location = sender.locationInView(view)
       println("tapped at \(location.x), \(location.y)")
       scene.mark(location)
   }//tapされるとタップ位置を出力
      }



物体をjumpさせる

import SpriteKit

class GameScene: SKScene {
   override func didMoveToView(view: SKView) {
       /* Setup your scene here */
       view.multipleTouchEnabled = false
       self.physicsWorld.gravity = CGVectorMake(0,-10)
       self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
       
       let fr = SKSpriteNode(imageNamed: "1.jpg")
       fr.setScale(0.3)
       fr.name = "fr"
       
       fr.physicsBody = SKPhysicsBody(circleOfRadius: fr.size.height/2)
       fr.physicsBody?.friction = 0.5
       fr.physicsBody?.restitution = 0.7
       fr.physicsBody?.mass *= 0.6
       
       //スプライトノードをシーンに追加する
       fr.position = convertPointFromView(view.center)
       self.addChild(fr)
       
   }
   
   override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
       /* Called when a touch begins */
       let fr = childNodeWithName("fr") as SKSpriteNode
       fr.physicsBody?.velocity = CGVectorMake(0,0)
       fr.physicsBody?.applyImpulse(CGVectorMake(0,15))
   }
  
   override func update(currentTime: CFTimeInterval) {
       /* Called before each frame is rendered */
   }
}

タグ:

+ タグ編集
  • タグ:
最終更新:2015年06月14日 16:38