約 5,086,187 件
https://w.atwiki.jp/aygs/pages/21.html
ごめん、抜ける。この状態じゃぁ、いくらなんでも無理だろこれw -- じん (2007-04-26 12 19 17) (A`) -- 銀双 (2007-03-26 19 05 45) マッチ売り用nscripterサンプルをupしました。圧縮してるので解凍してそのまま実行してください。bgmがあってないのは勘弁してください。 -- 銀双 (2007-03-01 22 15 18) VIP発のゲーム製作 まとめのまとめhttp //nsi.blog15.fc2.com/blog-entry-373.html -- Jing (2007-02-22 16 46 16) 他人の代表http //www.tanin.jp/ -- Jing (2007-02-16 13 07 17) ゲーム同人のこと。 - 他人の代表のブログ - 楽天ブログ(Blog)http //plaza.rakuten.co.jp/tanin/diary/200702130000/ 同人ゲームというのは、同人誌よりも遥かに計画倒れが多いのですよ。 Jing (2007-02-16 13 06 52) なるべくお金をかけずに、デザインをしてみようの会http //slow-f.com/howto/design_hanpa/01.html -- Jing (2007-02-14 21 22 24) 青空文庫より「マッチ売りの少女」を丸パクリして、それで動かせるものを作ることに決まりました。っていうかその事ちゃんと書けよw>あんこ一向に完成に向かわないし、何より情景描写がないと音が思い浮かばん。 -- Jing (2007-02-14 21 21 33) ぇーw触れちゃいけないのなwww-- yuki (2007-02-13 11 09 54) いうなっ!!!!111 -- @anko (2007-02-13 07 50 30) アグレッシブってwそれにしても地盤が固まっていない感が見受けられるのは一体… -- yuki (2007-02-12 23 20 38) 何にも決まってねーべ yukiオブザバ辞めてもっとアグレッシヴ!-- @anko (2007-02-12 22 16 46) タイトルと主人公の名前がまだ決まってないんやねぇ…口出しスイマセン( ̄ェ ̄;)オブザーバー辞めましたw -- yuki (2007-02-12 16 19 30) 日刊スレッドガイド 上手な絵より、センスある絵が描けるようになりたいんだけどhttp //guideline.livedoor.biz/archives/50818785.html なかなか、時間がとれません。申し訳ない。 -- Jing (2007-01-31 03 15 12) いやね、ほかのヴィジュアルノベルゲーを研究するのも大事だよなって思ってね。拙者なら音楽はどう使われてるのだろう、とか、そういう視点で。マーケットリサーチって大事でしょ。 -- Jing (2007-01-27 20 24 10) 二番煎じ云々より、売れている=面白い?と見る姿勢が大事なんちゃうの?w -- Jing (2007-01-27 20 23 13) 二番煎じは見苦しいのですよ。 -- 銀双 (2007-01-21 12 20 35) “ポストひぐらし”と噂のOmegaの視界 導入編の「1.シキのはじまり」は再入荷分も瞬殺http //www.senakablog.com/archives/2007/01/omega_1.html -- Jing (2007-01-21 00 33 46) もやしもんを読んでなんかヤル気がまた出た。汚いラフでも貪欲に発表していこうと思います。初心忘れてるなと。 -- anko (2007-01-15 07 49 58) やるって決めたからには、やらないとね。新マシンも組み上がったし、ぼちぼちと始めます。-- Jing (2007-01-15 00 45 46) 三箇日もとっくに過ぎてるが。よろしく頑張ろう。びば、病み上がり。 -- anko (2007-01-09 07 48 04) あけましておめでとうございます。今年も宜しくお願いします。マジで宜しくお願いします。 -- 銀双 (2007-01-06 22 50 32) 元日にそんなネタ書き込むなああああああ -- 銀双 (2007-01-03 19 15 02) す ご い サ イ ト 発 見 し たwwwhttp //www.kajisoku.com/archives/eid883.html -- Jing (2007-01-01 10 18 10) シンプルだけど、雰囲気があるのが良いね。 -- y a s u (2006-12-13 21 26 37) タイトル(仮)見たいな感じなの決めよう。 -- 銀双 (2006-12-11 15 20 24) そもそも、正式なタイトルも決まってねぇ。だから紹介のしようがねぇ。 -- Jing (2006-11-27 20 04 28) >yukiWebsite用スペースは俺のところでもいいし、フリーでどっか借りるのもありやろうけど、紹介記事が書けるほど把握してる人間がいないようなw -- Jing (2006-11-27 20 02 00) >Yasu いくらテスト用でも最初のとこだけやったら、話の全貌をわかってる人間が限られ過ぎるやろ。話の全貌がわからないのなら、話の雰囲気もわからない→曲が作れない。あと、来年の関西一の同人誌即売会であるComicCommunication11の日程が来年6/10になりました。http //mixi.jp/view_bbs.pl?id=10866846 amp;comm_id=100754 これ目標にしてみないか? -- Jing (2006-11-27 19 57 52) ぇ テスト用に最初のとこ作るんじゃねぇのwまぁそういうことなら、頑張ってみるか。関係ないけど深海の最新作の、新しい予告編にヒロイン像にシンクロする女の子が一瞬登場。Yahoo! JAPAN - 秒速5センチメートルhttp //5cm.yahoo.co.jp/teaser/index.html チェックしといて-- yasu (2006-11-26 19 00 55) せめてストーリーを簡単な起承転結のある粗筋にしてくれると、こっちも話の膨らませ方が見えてくるのだが。 -- Jing (2006-11-26 17 32 34) 。
https://w.atwiki.jp/blendr/pages/27.html
Blender 3D CGパーフェクトバイブル ―完全無料ですべてができる3DCGソフトの最高峰! (100%ムックシリーズ) posted with amazlet at 11.11.08 晋遊舎 (2011-01-27) 売り上げランキング 69267 Amazon.co.jp で詳細を見る Blender 2.5マスターブック posted with amazlet at 11.11.08 藤堂+ カットシステム 売り上げランキング 23640 Amazon.co.jp で詳細を見る Blenderスタートアップガイド -オープンソースで作る3Dモデル、アニメーション、ゲーム- posted with amazlet at 11.11.08 ランス・フラベル (Lance Flavell) ボーンデジタル 売り上げランキング 48147 Amazon.co.jp で詳細を見る Blenderビギナーズバイブル posted with amazlet at 11.11.08 田崎 進一 毎日コミュニケーションズ 売り上げランキング 512733 Amazon.co.jp で詳細を見る Character Development in Blender 2.5 posted with amazlet at 11.11.08 Jonathan Williamson Course Technology Ptr 売り上げランキング 9628 Amazon.co.jp で詳細を見る マスタリングBlender posted with amazlet at 11.11.08 Tony Mullen アスキー・メディアワークス 売り上げランキング 240571 Amazon.co.jp で詳細を見る はじめてのBlender (I・O BOOKS) posted with amazlet at 11.11.08 山崎 聡 工学社 売り上げランキング 239873 Amazon.co.jp で詳細を見る 物理シミュレーションBlender posted with amazlet at 11.11.08 トニー・マレン アスキー・メディアワークス 売り上げランキング 292481 Amazon.co.jp で詳細を見る 3Dキャラクタアニメーション Blender(DVD付) posted with amazlet at 11.11.08 トニー・マレン アスキー 売り上げランキング 113657 Amazon.co.jp で詳細を見る Introducing Character Animation with Blender posted with amazlet at 11.11.08 Tony Mullen Sybex 売り上げランキング 13330 Amazon.co.jp で詳細を見る Blender Advanced Guide posted with amazlet at 11.11.08 田崎 進一 斉藤 寛 中村 達也 オーム社 売り上げランキング 516328 Amazon.co.jp で詳細を見る BLENDERガイドブック posted with amazlet at 11.11.08 斉藤 寛 中村 達也 エクシードプレス 売り上げランキング 616981 Amazon.co.jp で詳細を見る Blenderでチャレンジ!はじめての3DCG―3DCGの作成はすべてオマカセ3Dアニメーションだって作れちゃう! (100%ムックシリーズ) posted with amazlet at 11.11.08 晋遊舎 売り上げランキング 639134 Amazon.co.jp で詳細を見る はじめてのBlender2.5―「初心者」から「プロ」まで使える、フリーの3D‐CGソフト (I・O BOOKS) posted with amazlet at 11.11.08 山崎 聡 工学社 売り上げランキング 138289 Amazon.co.jp で詳細を見る Blender 2.5 Materials and Textures Cookbook posted with amazlet at 11.11.08 Colin Litster Packt Publishing 売り上げランキング 108574 Amazon.co.jp で詳細を見る キャラクターをつくろう! 3DCG日和。 posted with amazlet at 11.11.08 ISAO ビー・エヌ・エヌ新社 売り上げランキング 29492 Amazon.co.jp で詳細を見る ゲーム制作者になるための3Dグラフィックス技術 posted with amazlet at 11.11.08 西川 善司 インプレスジャパン 売り上げランキング 27805 Amazon.co.jp で詳細を見る Blender 3D, Architecture, Buildings, and Scenery Create Photorealistic 3d Architedftural Visualizations of Buildings, Interiors, and Environmental Scenery posted with amazlet at 11.11.08 Allan Brito Packt Publishing 売り上げランキング 139245 Amazon.co.jp で詳細を見る ローポリ スーパーテクニック posted with amazlet at 11.11.08 ntny ソフトバンククリエイティブ 売り上げランキング 16084 Amazon.co.jp で詳細を見る
https://w.atwiki.jp/marutamaotaban/pages/20.html
編集用タグサンプル 文字サイズ あああ 文字色 あああ 文字背景色 あああ 編集を押してタグをコピーして使ってください
https://w.atwiki.jp/dng_tiny/pages/36.html
サンプルアタッカー・リリィ ■性別 女性 ■学年 1年生 ■所持武器 ヒノキの剣 ■ステータス 攻撃力:17/防御力:4/体力:5/精神力:3/FS(稼働可能年数):1 ■コスト 2 特殊能力:『サンプルビーム』 効果:体力ダメージ1 範囲+対象:隣接3マス内1マス敵味方全員(前方のみ) 時間:一瞬 非消費制約:敵味方無差別 発動率:99% 成功率:100% 能力原理 持っている剣からビームを発射する キャラクター説明 気が付いたらダンゲロスの戦場に存在している魔人がいる。 彼らは見た目や性格・性別まで様々だが、一様に名がなく「サンプルアタッカー」や「雑魚アタッカー」などと呼ばれている。 彼らがどこからきて何処へ行くのかは誰も知らない。 一説によると戦況を均衡させるために戦場に投入されるクローン魔人の一種だそうだが、真偽のほどは分からない。 この個体は、他の「サンプルアタッカー」と比較して幼い容姿をしている。 その分未熟という事なのだろうが、能力に関しては他の「サンプルアタッカー」と比較して高い傾向にある。 また、他の「サンプルアタッカー」が無機質な印象を持つ無表情なのに対して、この個体は無邪気な笑顔を浮かべることがある。 しかし逆に言うなら「喜び」以外の感情は欠落しているように見受けられる。 要観察対象。
https://w.atwiki.jp/flex_framework/pages/21.html
PureMVCの表現領域であるView層について記述していきます。 この層で利用されるクラスは以下の通りです。 MXML Mediatorクラス これらについても概要は既に述べていますので、 サンプルを見てみましょう。 まずはMXMLファイルからです。 このMXMLファイルは先に記述したMXMLファイルの中ではなく、 Viewコンポーネントとして作成したMXMLファイルです。 先に記述されたMXMLファイルの解説の中の⑤にあたります。 「CalclationPanel.mxml」 ?xml version="1.0" encoding="utf-8"? mx Panel xmlns mx="http //www.adobe.com/2006/mxml" ・・・・・・・・・・・・・・・・・・・・・・・・・・・・① layout="vertical" width="400" height="300" creationComplete="{this.init()}" !-- このUIコンポーネントで発生するすべてのイベントをここで列挙 -- mx Metadata ・・・・・・・・・・・・・・・・・・・・・・・・・・・・② [Event( click1 )] [Event( click2 )] [Event( click3 )] [Event( click4 )] [Event( click5 )] [Event( click6 )] [Event( click7 )] [Event( click8 )] [Event( click9 )] [Event( click0 )] [Event( clickPlus )] [Event( clickMinus )] [Event( clickEqual )] [Event( clickClear )] /mx Metadata mx Script ![CDATA[ import example.model.vo.CalclationVO; // このUIコンポーネントで発生するすべてのイベントの文字列を列挙(上のMetadataタグとここの文字列の内容は必ず一緒になる) public static const click1 String = "click1"; ・・・・・・・・・・・・・・・・・・・③ public static const click2 String = "click2"; public static const click3 String = "click3"; public static const click4 String = "click4"; public static const click5 String = "click5"; public static const click6 String = "click6"; public static const click7 String = "click7"; public static const click8 String = "click8"; public static const click9 String = "click9"; public static const click0 String = "click0"; public static const clickPlus String = "clickPlus"; public static const clickMinus String = "clickMinus"; public static const clickEqual String = "clickEqual"; public static const clickClear String = "clickClear"; // 画面表示用VO [Bindable] public var calcVO CalclationVO; ・・・・・・・・・・・・・・・・・・・・・・④ /** * 初期化処理 */ private function init() void ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑤ { calcVO = new CalclationVO(); ・・・・・・・・・・・・・・・・・・・・・・・・・・⑥ } ]] /mx Script mx TextInput id="txtOutput" editable="false" text="{calcVO.calcString}" / ・・・・・・・・・・・・・・・⑦ mx HBox mx Button id="btn1" label="1" click="{dispatchEvent(new Event( click1 ) )}" / ・・・・・・・・・・・・・・・・・⑧ mx Button id="btn2" label="2" click="{dispatchEvent(new Event( click2 ) )}" / mx Button id="btn3" label="3" click="{dispatchEvent(new Event( click3 ) )}" / mx Button id="btnPlus" label="+" click="{dispatchEvent(new Event( clickPlus ) )}" / /mx HBox mx HBox mx Button id="btn4" label="4" click="{dispatchEvent(new Event( click4 ) )}" / mx Button id="btn5" label="5" click="{dispatchEvent(new Event( click5 ) )}" / mx Button id="btn6" label="6" click="{dispatchEvent(new Event( click6 ) )}" / mx Button id="btnMinus" label="-" click="{dispatchEvent(new Event( clickMinus ) )}" / /mx HBox mx HBox mx Button id="btn7" label="7" click="{dispatchEvent(new Event( click7 ) )}" / mx Button id="btn8" label="8" click="{dispatchEvent(new Event( click8 ) )}" / mx Button id="btn9" label="9" click="{dispatchEvent(new Event( click9 ) )}" / mx Button id="btnEqual" label="=" click="{dispatchEvent(new Event( clickEqual ) )}" / /mx HBox mx HBox mx Button id="btn0" label="0" click="{dispatchEvent(new Event( click0 ) )}" / mx Button id="btnClear" label="C" click="{dispatchEvent(new Event( clickClear ) )}" / /mx HBox /mx Panel ①Panelタグ このタグも説明の必要はないでしょう。 Flexのパネルタグです。 このタグのプロパティとして注目すべきは以下の点です。 layout="vertical" レイアウトについてです。 Verticalの設定なので「縦並び」ということですね。 取り立てて、大きく扱うプロパティではないのですが、Absorute(絶対位置)では都合が悪かったので、Verticalにしてみました。 width="400" height="300" このコンポーネントの大きさです。 縦400ピクセル、横300ピクセルです。 creationComplete="{this.init()}" ②Metadataタグ このコンポーネントがもつイベントのすべてを記述しています。 このタグの中に宣言することにより、このコンポーネントが当該イベントを送出することができるようになります。 ここでは各ボタンに対応するイベントを設定しました。 ボタン1を押したら「click1」イベントが起きるということです。 このイベントに対応するハンドラは次に出てくるMediatorクラスでハンドルされます。 ③public static const click1 String = "click1"; イベントの名称です。 Metadataタグの中で記述されたイベント名をすべてpublic static constとして宣言し、 送出されたイベント名を特定できるようにしています。 単純にいえば public static const click1 = [Event( click1 )] という意味です。 これは後述される⑧とMediatorクラスで利用されています。 ④public var calcVO CalclationVO; このクラスが保持するインスタンス変数の宣言です。 VOとあるとおり、前回にありましたValueObjectのことで、 ここでは計算結果を表示するためのBindableな変数として扱っています。 このクラスもまた、Mediatorクラスに出てきます。 ⑤creationComplete時に呼び出される初期化メソッド ここでは「init」としていますが、functionの名称は何でもOKです(初期化を示す単語であれば尚良しです)。 ここで重要なのは次の④のことを実行することです。 ⑥calcVO = new CalclationVO(); インスタンス変数であるcalcVOをインスタンス化しています。 ここでインスタンス化しないとこのcalcVO変数は永遠にインスタンス化されません (誰がインスタンス化していいのかわからない)ので。 ⑦ mx TextInput id="txtOutput" editable="false" text="{calcVO.calcString}" / TextInputコンポーネントです。 ここではeditableプロパティをfalseとすることで、ユーザー入力をしないようにしています。 計算機なので、直接入力してもらうと何かと不便なので、こうしています。 またtextプロパティではインスタンス変数であるcalcVOのcalcStringというプロパティを参照しています。 ここで参照することにより、calcVOのcalcStringプロパティの中身がTextInputコンポーネントに表示されるわけです。 ⑧ mx Button id="btn1" label="1" click="{dispatchEvent(new Event( click1 ) )}" / Buttonコンポーネントです。 いわゆるイベントを送出するためのものですね。 ご覧のようにclickイベントでは dispatchEvent(new Event( click1 ) ) としてclick1というイベントを送出しています。 これは②で述べたMetadataタグの中で指定している [Event( click1 )] と関連付けされ、このCalclationPanel.mxmlという ViewコンポーネントはMetadataタグに指定された イベントを発生させるということがわかるでしょう。 さて、ここまでではMXMLファイルの解説(いわゆるViewコンポーネント)の解説をしてきました。 このMXMLが画面上に表示される直接的なインターフェースを表していることになります。 そして、このMXMLにMetadataとしてイベントが記述されていることがわかるでしょう。 CairngormではイベントはすべてFrontController(ApplicationController)と呼ばれている部分に 集中していました。 MXMLの中でMetadataタグを使ってのイベント記述は一切なく、 すべてがFrontControllerに集中していたわけです。 集中管理できるのは利点ですが、どのViewがどんなイベントを起こしているのかわからなくなってしまうことが多く、 この点を改善したのがPureMVCといえるのではないでしょうか。 MXMLを見ればそのコンポーネントがどんなイベントを起こすのかすぐにわかるというのは大きな利点ですね。 次にMediatorクラスです。 「CalclationPanelMediator.as」 package example.view { import org.puremvc.patterns.mediator.Mediator; import org.puremvc.interfaces.INotification; import org.puremvc.interfaces.IMediator; import example.model.CalclationProxy; import example.view.components.CalclationPanel; import flash.events.Event; import example.ApplicationFacade; import example.model.vo.CalclationVO; public class CalclationPanelMediator extends Mediator implements IMediator ・・・・・・・・・・・・・・・・・・① { private var proxy CalclationProxy; ・・・・・・・・・・・・・・・・・・・② public static const NAME String = "CalclationPanelMediator"; ・・・・・・・・・・・・・・・・・・③ /** * コンストラクタ * ここではこのMediatorクラスで発生するイベントのリスナを登録 */ public function CalclationPanelMediator(view Object) void ・・・・・・・・・・・・・・・・・④ { // 親クラスのコンストラクタの呼び出し super(view); ・・・・・・・・・・・・・・・・・・⑤ // ハンドラの登録 calclationForm.addEventListener(CalclationPanel.click0,onClick); ・・・・・・・・・・・・・・・・・⑥ calclationForm.addEventListener(CalclationPanel.click1,onClick); calclationForm.addEventListener(CalclationPanel.click2,onClick); calclationForm.addEventListener(CalclationPanel.click3,onClick); calclationForm.addEventListener(CalclationPanel.click4,onClick); calclationForm.addEventListener(CalclationPanel.click5,onClick); calclationForm.addEventListener(CalclationPanel.click6,onClick); calclationForm.addEventListener(CalclationPanel.click7,onClick); calclationForm.addEventListener(CalclationPanel.click8,onClick); calclationForm.addEventListener(CalclationPanel.click9,onClick); calclationForm.addEventListener(CalclationPanel.clickMinus,onClick); calclationForm.addEventListener(CalclationPanel.clickPlus,onClick); calclationForm.addEventListener(CalclationPanel.clickClear,onClick); calclationForm.addEventListener(CalclationPanel.clickEqual,onClick); // facadeインスタンスに登録されたproxyクラス(ロジック実装クラス)を取得 proxy = facade.retrieveProxy( CalclationProxy.NAME ) as CalclationProxy; ・・・・・・・・・・・・・・⑦ } /** * プロパティアクセサ */ public function get calclationForm() CalclationPanel ・・・・・・・・・・・・・・・・⑧ { return viewComponent as CalclationPanel; ・・・・・・・・・・・・・⑨ } /** * イベントハンドラ * ここではCalclationPanelのイベントであるclick0などの * イベントを解析している */ private function onClick(e Event) void ・・・・・・・・・・・・・・10 { // VIEWコンポーネント(プロパティアクセサ)からVOを取得 var calc CalclationVO = calclationForm.calcVO; ・・・・・・・・・・・・・・11 // イベントタイプにより処理の振り分け switch( e.type ) ・・・・・・・・・・・12 { case CalclationPanel.click0 ・・・・・・・・・・・・13 proxy.setNumber("0"); ・・・・・・・・・・・・14 sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); ・・・・・・・・・・・・15 break; case CalclationPanel.click1 proxy.setNumber("1"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click2 proxy.setNumber("2"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click3 proxy.setNumber("3"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click4 proxy.setNumber("4"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click5 proxy.setNumber("5"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click6 proxy.setNumber("6"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click7 proxy.setNumber("7"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click8 proxy.setNumber("8"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.click9 proxy.setNumber("9"); sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); break; case CalclationPanel.clickMinus sendNotification(ApplicationFacade.APP_MINUS_CLICK, calc); break; case CalclationPanel.clickPlus sendNotification(ApplicationFacade.APP_PLUS_CLICK, calc); break; case CalclationPanel.clickClear sendNotification(ApplicationFacade.APP_CLEAR_CLICK, calc); break; case CalclationPanel.clickEqual sendNotification(ApplicationFacade.APP_EQUAL_CLICK, calc); break; } } /** * このMediatorクラスで発生するイベントの登録をする */ override public function listNotificationInterests() Array ・・・・・・・・・・・・・・16 { // ここに列挙された文字列をこのクラスの中ではハンドルすることにより、 // 処理の振り分けを行う。 return [ ・・・・・・・・・・・・・・・17 ApplicationFacade.APP_NUMBER_CLICK, ApplicationFacade.APP_PLUS_CLICK, ApplicationFacade.APP_MINUS_CLICK, ApplicationFacade.APP_CLEAR_CLICK, ApplicationFacade.APP_EQUAL_CLICK ]; } /** * listNotificationInterestsメソッドで登録された文字列を * 実際に処理に振り分ける */ override public function handleNotification(notification INotification) void ・・・・・・・・・・・・・・・・18 { switch ( notification.getName() ) ・・・・・・・・・・・・・・19 { case ApplicationFacade.APP_NUMBER_CLICK ・・・・・・・・・・・・・・・20 // 画面に表示している情報(VO)の取得 calclationForm.calcVO = notification.getBody() as CalclationVO; // 画面に表示している情報の書き換え calclationForm.calcVO.calcString = proxy.calcString; break; case ApplicationFacade.APP_PLUS_CLICK proxy.plusNumber(); break; case ApplicationFacade.APP_MINUS_CLICK proxy.minusNumber(); break; case ApplicationFacade.APP_CLEAR_CLICK proxy.clear(); // 画面に表示している情報の書き換え calclationForm.calcVO.calcString = proxy.calcString; break; case ApplicationFacade.APP_EQUAL_CLICK proxy.calcEqual(); // 画面に表示している情報の書き換え calclationForm.calcVO.calcString = proxy.calcString; break; } } } } ①public class CalclationPanelMediator extends Mediator implements IMediator Mediatorクラスの宣言部。 ここではMediatorクラスの継承とIMediatorインターフェースの実装を宣言しています。 Mediatorクラス(IMediatorインターフェース)にはhandleNotificationというメソッドを持っています。 後述しますが、このメソッドをオーバーライドすることにより、ビジネスロジックとの橋渡しをします。 またこのクラスがハンドルするイベントを登録するためのメソッドであるlistNotificationInterestsというメソッドもあります。 これもオーバーライドすることにより、このMediatorクラスがハンドルできるイベントを登録するわけです。 ②private var proxy CalclationProxy; ビジネスロジックであるProxyクラスのインスタンスを保持するための変数です。 このMediatorクラスの中で共通的にProxyクラスを使用したいためにインスタンス変数としています。 ③public static const NAME String = "CalclationPanelMediator"; Facadeクラスに登録するための名前をここで定義しています。 ここで定義された名称でFaçadeクラスの中にインスタンスが生成されます。 よって、この名前はアプリケーションの中でユニークになっている必要があります。 ④public function CalclationPanelMediator(view Object) void コンストラクタです。 引数としてview Objectを受け取るようになっていますが、 このViewの実態はViewコンポーネントそのものです。 今回の計算機サンプルでは上記MXMLの解説でお話した 「CalclationPanel.mxml」のインスタンスが対象のViewコンポーネントになります。 ⑤super(view); 親クラスのコンストラクタを呼び出しています。 ここでは上記④のコンストラクタで指定されたViewコンポーネントを引数として渡しています。 これを実行することで親であるMediatorクラスのインスタンス変数「viewComponent」に設定しています。 このview(さらにいえばCalclationPanel.mxmlのインスタンス)が設定されます。 以降、このクラスの中ではviewComponentというインスタンス変数で Viewコンポーネントを扱っていきます。 が、直接的に扱うのではなくGetterメソッドを用いて利用しています(後述⑧)。 ⑥calclationForm.addEventListener(CalclationPanel.click0,onClick); イベントを登録しています。 ここでいうcalclationFormというのは後述⑧で示している通り、 実態はviewComponentというインスタンス変数です。 これは上記⑤でも出てきましたね。 そうです。CalclationPanel.mxmlのインスタンスをさしています。 ここでこのCalclationPanel.mxmlが送出するイベントのリスナとハンドラを登録しているわけです。 ここまで来てようやくCalclationPanel.mxmlで設定していた送出イベントの名前定義を利用できるわけです。 しかし、MXMLが送出するイベント名を使って、リスナとハンドラを登録しているわけですから、 Cairngormのように「(FrontControllerに)イベントがいっぱいでよくわからない」ということはないと思います。 このMediatorクラスでイベントを登録しているわけですから。 ⑦proxy = facade.retrieveProxy( CalclationProxy.NAME ) as CalclationProxy; ここではこの中で利用するProxyクラスを取得しています。 Proxyクラスはビジネスロジックを実装しているクラスであることは前に述べました。 このProxyクラスのインスタンスを取得することにより、 Mediatorクラスの中で自由に利用できるようになります。 ⑧public function get calclationForm() CalclationPanel Getterメソッドです。後述の⑨を返却しています。 ⑨return viewComponent as CalclationPanel Mediatorクラスのインスタンス変数であるviewComponentのインスタンスをCalclationPanelのインスタンスにキャストして 返却しています。 viewComponentというインスタンスをそのまま扱わないのは、viewComponentというのはオブジェクトであり、 CalclationPanelというキャストをしてあげなければ、機能として何もないのと同じだからです。 この辺り、 var obj Object = new Object(); とプログラムを書いてみて、 この「obj」という変数のプロパティやイベント、メソッドを見てみるとよくわかると思います。 (EclipseやFlexBuilderではヘルプがでますので。そうでない方はFlexAPIドキュメントのObjectクラスをご覧ください。) ⑩private function onClick(e Event) void 上記⑥で登録していたハンドラです。 CalclationPanel.mxmlで起こったイベントを受け取るハンドラですね。 ⑪var calc CalclationVO = calclationForm.calcVO ここではValueObjectであるCalclationVOを取得しています。 ValueObjectクラスは画面に値を表示する際の器として使用しています。 ⑫switch( e.type ) イベントタイプの判定です。 ⑬case CalclationPanel.click0 ⑫で判定するケース文ですね。 ここではイベントタイプがclick0であったら、このCase文の中身を実行するようになっています。 Case文は多々ありますが、やっていることは基本的に同じなので、説明は省略しています。 ⑭proxy.setNumber("0"); ビジネスロジックを持つproxyのsetNumberというメソッドを呼び出して、 proxyに入力された(ここではクリックされた)番号を通知しています。 ここで入力された値を設定しないと、設定する機会がないので、 このタイミングで設定しています。 このときの「ボタンを押した」というイベントはこの中でしか取れないからです。 ⑮sendNotification(ApplicationFacade.APP_NUMBER_CLICK, calc); イベント登録用クラスであるNotificationをイベントとして送出しているメソッドです。 ここで送出されたNotificationイベントは後述⑰で登録されたイベントに対応しており、 これを⑱のメソッドhandleNotificationでハンドルします。 ここでNotificationを起こすことにより、ビジネスロジックとの完全分離を目指しているわけです。 今回の計算機ではビジネスロジックはたいしたことをやっていませんのであまり必要性は感じないかと思われますが。 ⑯override public function listNotificationInterests() Array MediatorクラスのメソッドlistNotificationInterestsをオーバーライドしています。 このメソッドでこのMediatorクラスが起こすNotificationイベントを登録します。 登録の仕方は後述の⑰の通りです。 このメソッドは親のコンストラクタの中で自動的に呼ばれます。 このメソッドが定義されていないと、 ⑮で呼び出しているメソッド「sendNotification」は意味がないので、きちんと定義しましょう。 ⑰return [ApplicationFacade.APP_NUMBER_CLICK, ApplicationFacade.APP_PLUS_CLICK, ApplicationFacade.APP_MINUS_CLICK, ApplicationFacade.APP_CLEAR_CLICK, ApplicationFacade.APP_EQUAL_CLICK] このMediatorクラスが起こすNotificationイベントをArray型として返却しています。 ⑱override public function handleNotification(notification INotification) void ⑮で送出させたNotificationイベントのハンドラです。 ⑯、⑰で設定したイベントのハンドラがこのメソッドになります。 この中でビジネスロジックを実装しています。 というよりはProxyクラスの呼び出しをコントロールしているといったほうが正しいでしょう。 今回は計算機なのでたいしたことはやっていませんが、 Proxyクラスのメソッドを使っての計算やValueObjectへの値の設定はここでやっていることがお分かりいただけると思います。 ⑲switch ( notification.getName() ) 送出されたNotificationの名前の判定です。 ⑮で送出されたものの名前を判定しています。 ⑳case ApplicationFacade.APP_NUMBER_CLICK ⑮で送出された名前のCase文ですね。 このCase文の中でProxyクラスの呼び出しやValueObjectへの値の設定などを行っています。 ビジネスロジックというよりはProxyのコントロールとValueObjectの設定を主にやるところですね。 実際のビジネスロジックはProxyというクラスがいるわけですから、 ここではそのコントロールと画面に表示する部分のValueObjectの制御だけを行えばいいのです。 ここでサンプルの解説を終わります。 ここまで来て、結局、どうやって流れるの? っていう素朴な疑問について、曖昧なままよくわかりませんので、 図化してみました。 PureMVCの初回起動時は動きは以下の図の通りです。 サンプルで利用した計算機アプリを元にしていますので、Commandなどの動きには ほかにバリエーションがあるかもしれませんので、とりあえずはこんな動きなんだということでお願いします。 元の大きな画像はこちらから PureMVCのイベント駆動時の動きは以下の図の通りです。 こちらもサンプルの計算機を元におしていますので、あしからず。 いかがでしたでしょうか? ここまでお送りしましたPureMVCについてをサンプルを交えて解説してきましたが、 全体の俯瞰図は以下の通りです。 元の大きな画像はこちらから かなり大きいです、ごめんなさい。 大体の概念はMVCと変わりないことがお分かりいただけたかと思います。 ただFlexはイベント駆動型のアプリケーションなので、 どうしてもイベント中心になりがちですが、その辺りを解決してくれるのがPureMVCではないでしょうか。 まだまだいろいろFrameworkはあると思いますので、折を見て触れていきたいと思います。 とりあえず、今回はここまでです。 お付き合いいただきありがとうございました。
https://w.atwiki.jp/1007k/pages/3124.html
難易度表/むずかしい/ハッピー☆マテリアル 100%詐欺だろ。 - 2010-11-18 18 29 39 ↑太鼓Wikiでは詐欺ではなく詐称。 - 2010-11-18 18 58 05
https://w.atwiki.jp/rozenrock/pages/1199.html
Story ID +ew4Y0n40 氏 (288th take) 「この曲のイントロ部分に女性の泣き声とか入れてみたらどうかしら~」 「うん、面白そうだね」 「この曲ならシクシクと言うか大泣きするような泣き声ですねぇ~、どこか にそんな泣き声のサンプルあったですかぁ~」 「それなら簡単よぉ~」 「あら、水銀燈。泣き声のサンプルなんて持っていたの?」 「持ってないけど簡単に手に入るわぁ~、ばらしー、ちょっとばらしー、 こっちにいらっしゃ~~い」 「……なに?銀ちゃん…?」 「えいッ!!」 パシッ 「うっ、うわぁぁ~~ん…銀ちゃんが叩いたよぉ~~、うわぁ~~ん(号泣)」 「ね、簡単でしょぉ~~、うふふふ」 短編連作SS保管庫へ
https://w.atwiki.jp/kia_product/pages/27.html
近況報告 2009/09/04 謎の強制終了は、どうやらBGMの再生(特にoggファイル?)のときに起こっているよう。 ストリーミング再生に対応する必要あり?? ⇒ちょっと、これは残課題として対応を先延ばしにする。 とりあえず、RIFF-mp3で対応する。(いずれoggにしたい。) 上記を持って完成とし、説明書を書く。 数人の知り合いに送信して、βテストを行う予定。 2009/08/29 謎の強制終了は、試した2つの環境(自分宅、実家)で再現性がかなり「まれ」なので、置いておく。 あと、旧ライブラリでコンパイルすることで、新しいDirectXをインストールしてもらわないとダメな可能性が減少した。 暗号化ツールの改訂を行ったあと、暗号化も含めてゲームを完成状態にもっていく。(曲とムービー以外は暗号化される) そして、ようやく説明書書きます! サンプルゲーム 鋭意制作中!! ○対応環境(確認済み) 2005年のDirectX9以上インストールされたWindowsXP (Vistaは日本語入力が正常動作しない可能性あり。未検証。) XP-SP3なら確実動作。SP2はDirectXの更新が必要? OPムービー(wmv) 簡易仕様書 実行形式ファイル ※最新のDirectXのランタイムが必要です。…なんとかしたい。 ⇒2005年のSDKでコンパイルする事で解決! ソースファイル サンプル、かなりできてきました。もしよかったらやってみて。 -- 孝和 (2009-08-11 02 19 44) 操作説明を兼ねたOPムービーできた!ムービー作成、楽しかったw -- 孝和 (2009-08-28 02 42 24) 名前 コメント
https://w.atwiki.jp/chapati4it/pages/139.html
帳票サンプル JasperReports5.0サンプル サンプルの実行 一番簡単なPDF出力 テンプレートにデータソースとパラメータ設定してPDF出力 CSVデータソースからPDF出力 PDFに動的に画像を埋め込み グループ分けと集計
https://w.atwiki.jp/motion/pages/58.html
アルファでテクスチャを透過させたものを画面に反映する 透過させたいオブジェクトのアトリビュートエディタを開き、 テクスチャのタブの【共通マテリアルアトリビュート】を表示させておく。 メニューバーから【ウインドウ】→【レンダリングエディタ】→【ハイパーシェード】を開き、 アルファを設定したテクスチャを選択して透過させたいオブジェクトの【共通マテリアルアトリビュート】→【透明度】の部分に中ボタンのドラッグ&ドロップで放り込む。 同タブ内【ハードウェアテクスチャリング】→【テクスチャチャンネル】を適切なものに切り替えて透過させる。 基本的には【カラー】にしておけば大丈夫なはずである。 また、このハードウェアテクスチャリング内の項目が存在しない場合がある。その場合はバグなので一旦MAYAを落として再起動してみよう。