質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1431閲覧

[Swift] アプリ開発入門

juncoin

総合スコア31

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2014/12/28 23:53

プログラムでシダを描画する というサイトでサンプルプログラムが乗っていたのでドラッグ&ドロップして実行してみたんですがコンパイルは通りますがシダが表示しません。
どうしてでしょうか?

以下サンプルプログラム

import UIKit

class ShidaViewController: UIViewController {
var n:Int = 20
var width:Float = 640.0
var height:Float = 960.0

func w1x(t: (Float, Float)) -> Float { let (x,y) = t return 0.836 * x + 0.044 * y } func w1y(t: (Float, Float)) -> Float { let (x,y) = t return -0.044 * x + 0.836 * y + 0.169 } func w2x(t: (Float, Float)) -> Float { let (x,y) = t return -0.141 * x + 0.302 * y } func w2y(t: (Float, Float)) -> Float { let (x,y) = t return 0.302 * x + 0.141 * y + 0.127 } func w3x(t: (Float, Float)) -> Float { let (x,y) = t return 0.141 * x - 0.302 * y } func w3y(t: (Float, Float)) -> Float { let (x,y) = t return 0.302 * x + 0.141 * y + 0.169 } func w4x(t: (Float, Float)) -> Float { let (x,y) = t return 0 } func w4y(t: (Float, Float)) -> Float { let (x,y) = t return 0.175337 * y } func rand_() -> Float { var ran = Float(arc4random() % 100) return ran / 100.0; } func f(k:Int, x:Float, y:Float) { if (0 < k){ f(k-1, x: w1x((x,y)), y: w1y((x,y))) if rand_() < 0.3 { f(k-1, x: w2x((x,y)), y: w2y((x,y))) } if rand_() < 0.3 { f(k-1, x: w3x((x,y)), y: w3y((x,y))) } if rand_() < 0.3 { f(k-1, x: w4x((x,y)), y: w4y((x,y))) } } else { var sw: Float = width * 0.9 var sh: Float = height * 0.9 draw((x * sw + width * 0.5, height - y * sh)) } } override func viewDidLoad() { super.viewDidLoad() self.f(n,x:0,y:0) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func draw(t: (Float, Float)){ let (x,y) = t var cx = CGFloat(x) var cy = CGFloat(y) var location = CGVector(dx:cx,dy:cy) var p = Point(location:location,r:1) p.createView() self.view.addSubview(p.view) }

}

class Point{
var location:CGVector
var radius:Int
var view:UIView

init(location:CGVector,r:Int){ self.location = location self.radius = r self.view = UIView() } func createView(){ view.frame = CGRect(x:location.dx,y:location.dy,width:1,height:1) view.backgroundColor = UIColor.greenColor() view.layer.cornerRadius = 1 }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コードは最初に生成されるViewControllerに記述していますか?
後は私も試してみたのですが、エミュレータの反応がいまいち良くないので、何度か起動し直すと良いかもしれませんよ。
ちなみに実行するとこんな画面になりました。![イメージ説明]WIDTH:375

投稿2015/01/04 12:30

hiroki8080

総合スコア254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問