タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

coroutineに関するIwamotoTakashiのブックマーク (4)

  • Perlで学ぶコルーチン

    How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow

    Perlで学ぶコルーチン
  • マイクロスレッド講座 - 弾幕風Wiki

    はじめに ここでは、スクリプトバージョン2から導入されたマイクロスレッドというものについて解説していきます。プログラムをかじった事がある人でも、マイクロスレッドというものにあまりなじみのない人は多いのではないかと思います。マイクロスレッドは、特にゲームにおけるアニメーション処理において非常に重宝される機能ですので、是非ともマスターしておきましょう。 ↑ 1−1.概念 マイクロスレッド(ファイバーと呼ばれることもある)とは、中断可能な処理のかたまりです。関数やサブルーチンでは一旦呼び出し元に戻るとそれっきりですが、マイクロスレッドでは一度中断した部分に、また後で戻ることができます。 図 1-1-1 関数やサブルーチンの処理の流れ 図 1-1-2 マイクロスレッドの処理の流れ マイクロスレッドは一度に複数立ち上げることができ、まるで並列して処理を行っているような感じになります。 図 1-1

  • Route 477(2008-02-10)

    ■ [event][Ruby/SDL] Ruby1.9のFiberはゲームにも使えるのか? 結論から言うと、余裕で使える。 今使ってるノートPC (PenM 1.2GHz, メモリ1GB) だと300キャラくらいまで大丈夫な感じです。 大丈夫というのは「描画フレーム数が50/秒以上」とかそんな。 ていうかFiberってなによ いわゆるコルーチンです。 ふつーのゲームプログラミングでは、敵を「右→下→左→上」という順に動かすために「いま動作のどこまでやったかフラグ」 を用意したりして頑張るんですが、コルーチンがあればこんなに簡単に。 def act_move1(i) @x = rand(640) @y = rand(480) 40.times{ @x += 8; Fiber.yield } # 40回右に動く 40.times{ @y += 8; Fiber.yield } # 40回下に動

    Route 477(2008-02-10)
  • Lua のコルーチンの使い方〜基本編〜 : torus solutions!

    Lua のコルーチンはとても便利ですが、意外とあんまり使われていないようなので、簡単な使い方をまとめてみたいと思います。 基 Lua コルーチンは、関数に対して「途中で抜けて、あとで戻る」ための機能を追加した物です。 coroutine.yield コルーチンの中心的な機能である「途中で抜ける」には coroutine.yield という関数を使います。 function ex1 () coroutine.yield "HELLO!" coroutine.yield "HELLO AGAIN!!" return "SEE YOU!" end こんな風に使うと、関数の途中で抜けてそのときに、返り値として "HELLO!" や "HELLO AGAIN!!" という文字列を返します。 ただし、ここで定義した ex1 という関数はこのままでは「ただの関数」なので、この yield は使えません

  • 1