翻牌游戏代码swift
2015-11-23 18:58:00 weixin_34146805 阅读数 0

// **************** 函数 *******************
func greet(name:String, day:String) -> String{
    return "Hello \(name), today is \(day)."
}
greet("Bob", day:"Tuesday")

// 使用元祖来让一个函数返回多个值
func calculateStatistics(scores:[Int]) -> (min:Int, max:Int, sum:Int){
    var min = scores[0]
    var max = scores[1]
    var sum = 0
    for score in scores{
        if score > max{
            max = score
        }
        if score < min{
            min = score
        }
        sum += score
    }
    return (min, max, sum)
}
let statistics = calculateStatistics([5, 3, 100, 3, 9]);
println(statistics.sum)
println(statistics.2)

// 带有可变个数参数的函数
func sumOf(numbers:Int...) -> Int{
    var sum = 0
    for number in numbers{
        sum += number
    }
    return sum
}
sumOf()
sumOf(42, 597, 12)

func returnFifteen() -> Int{
    var y = 10
    func add(){
        y += 5
    }
    add()
    return y
}
returnFifteen()

func makeIncrementer() -> (Int -> Int){
    func addOne(number:Int) -> Int{
        return 1 + number
    }
    return addOne
}
var increment = makeIncrement()
increment(7)

*****************************

func vari<N>(members:N...){

    for i in members{

        println(i)

    }

}

vari(4, 3, 5)

vari(4.5, 3.1, 5.6)

vari("Google", "Baidu", "Runoob")

******************************

func makeIncrementor(forIncrement amount:Int) -> () -> Int{
    var runningTotal = 0
    func incrementor() -> Int{
        runningTotal += amount
        return runningTotal
    }
    return incrementor
}
let incrementByTen = makeIncrementor(forIncrement:10)
print(incrementByTen())
print(incrementByTen())
print(incrementByTen())
********************************

enum Student{
    case Name(String)
    case Mark(Int, Int, Int)
}
var studDetails = Student.Name("Runoob")
var studMarks = Student.Mark
switch studMarks{
    case .Name(let studName):
        println("name: \(studName)")
    case .Mark(let Mark1, let Mark2, let Mark3):
        println("\(Mark1), \(Mark2), \(Mark3)")
}

转载于:https://www.cnblogs.com/lianfu/p/4989349.html

2015-04-20 11:33:00 weixin_30764883 阅读数 1

https://github.com/kenzan100/2dTowerDefence-Swift

 

转载于:https://www.cnblogs.com/helinzi/p/4441087.html

2016-08-08 11:09:00 weixin_34372728 阅读数 13

一、构建项目

二、在MainScene.swift中定义背景图、地面图、精灵

1.1创建背景图

由于背景图是可以拉伸的,因此为了适配全屏,需要在X Y 方向放大

此处的疑问,多个资料显示的是在scene中创建Layer层;但是CALayer是继承自NSObjec,而不是框架的CCNode所以,没有找到,目前实现的方式是通过自定义Layer层继承自CCNode。感觉貌似不对,查看文档,没有发现Layer类。

需要设置Layer的position值和positionType类型

1.2创建地面图

同样应该是使用一个层,或者直接使用Node节点,将图片固定在某个位置,但是是否需要适配其他的屏幕,而需要相对的坐标。

1.3创建精灵sprite

使用ccactionmoveby and CCActionMoveTo两个Action,然后使用CCActionSecquence将这两个动作顺序使用,最后使用CCActionRepeatForever重复使用该队列。保证了精灵一直处于上下跳动。

1.4为精灵的移动使用控制按钮

CCActionButton.setTarget

1.5坐标系的问题

使用ccpDistance,计算两个点之间的距离,但是涉及到了坐标系的问题,目前还有细节不清楚!后续补充


多个坐标系,一个通用的UI坐标系,是左上角为原点,x 轴横向, y轴纵向。

cocos2d坐标系:右手笛卡尔坐标系,x 左延伸,y向上

使用cocosCreater的例子在ios中使用swift构建游戏,参考cocosCreater文档中的实例


http://www.cocos.com/docs/creator/

在设置了position后,计算的distance总是不对,分析是当前的移动的精灵是使用的世界坐标系,而固定的星星是使用的笛卡尔坐标系,因此需要将移动的精灵和星星都使用世界坐标系来计算距离,convertToWorldSpace

最后采用了将坐标系转换为屏幕坐标系convertToWorldSpace,计算的两个位置,最小也是5,不能达到预期的距离0,最后距离的设计临界值为40;


1.6定时和计时器的两个类

cctimer ccscheduler

通过使用schedule(#selector(MainScene.gameover), interval: 10)才能生成CCTimer,而CCTimer对象是可以取消计时器的功能的,及timer.invalide

这样就可以重新的添加计时器;

1.7ccaction的停止和运行

对于CCAction的停止可以使用名称也可以使用tag值,停止后我理解是释放了该对象,而需要重新添加action.

对于停止的位置,就是下一次action运行的起始位置,因此需要重新精灵的起始位置。

2016-11-18 17:03:00 weixin_34026484 阅读数 12

import UIKit

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

// Override point for customization after application launch.

self.window = UIWindow(frame:UIScreen.main.bounds)

self.window?.backgroundColor = UIColor.white

self.window?.makeKeyAndVisible()

self.window?.rootViewController = UIViewController()

let redView = UIView(frame:CGRect(x: 107, y: 268, width: 200, height: 200))

redView.tag = 200

redView.backgroundColor = UIColor.red

self.window?.addSubview(redView)

redView.layer.cornerRadius = 100

let yellowView = UIView(frame:CGRect(x: 132, y: 293, width: 150, height: 150))

yellowView.tag = 201

yellowView.backgroundColor = UIColor.yellow

self.window?.addSubview(yellowView)

yellowView.layer.cornerRadius = 75

let blueView = UIView(frame:CGRect(x: 157, y: 318, width: 100, height: 100))

blueView.tag = 202

blueView.backgroundColor = UIColor.blue

self.window?.addSubview(blueView)

blueView.layer.cornerRadius = 50


import UIKit

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

// Override point for customization after application launch.

self.window = UIWindow(frame:UIScreen.main.bounds)

self.window?.backgroundColor = UIColor.white

self.window?.makeKeyAndVisible()

self.window?.rootViewController = UIViewController()

let redView = UIView(frame:CGRect(x: 107, y: 268, width: 200, height: 200))

redView.tag = 200

redView.backgroundColor = UIColor.red

self.window?.addSubview(redView)

redView.layer.cornerRadius = 100

let yellowView = UIView(frame:CGRect(x: 132, y: 293, width: 150, height: 150))

yellowView.tag = 201

yellowView.backgroundColor = UIColor.yellow

self.window?.addSubview(yellowView)

yellowView.layer.cornerRadius = 75

let blueView = UIView(frame:CGRect(x: 157, y: 318, width: 100, height: 100))

blueView.tag = 202

blueView.backgroundColor = UIColor.blue

self.window?.addSubview(blueView)

blueView.layer.cornerRadius = 50

func changValue(){

let redView = self.window?.viewWithTag(200)

let color = redView?.backgroundColor

self.window?.viewWithTag(200)?.backgroundColor = self.window?.viewWithTag(201)?.backgroundColor

self.window?.viewWithTag(201)?.backgroundColor = self.window?.viewWithTag(202)?.backgroundColor

self.window?.viewWithTag(202)?.backgroundColor = color

}

Swift单行代码

阅读数 274

swift GCD代码

阅读数 9

Swift 代码的绅士

阅读数 29

没有更多推荐了,返回首页