ボタンを押した時にアラートを出すプログラム
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