Road&Load_Web

2012-10-02

[] 00:23

isset — 変数がセットされているかどうかを検査する

asの意味 同じ程度に,同様に,同じくらい

2012-09-25

[] モデル 14:05

モデルの記述

//--------------------------------------------------------------------------------

// 初期データ取得

//--------------------------------------------------------------------------------

function getIni() {

$data = array();

return $data;

}

[] コントローラ 14:02

コントローラの処理

//初期設定/////////////////////////////////////////

if( empty( $this->data ) ){

$this->data = $this->Fruit->getIni(); //初期値設定

}

$this->__setViewEdit(); //ビューに必要な情報を渡す

////////////////////////////////////////////////////////


if( empty( $this->data ) ){ 

・・・もしコントローラのデータがなかったら(画面入力していない状態)


$this->data = $this->Fruit->getIni();

    ・・・コントローラからFruitモデルクラスのgetIni()関数を実行する



[] View 13:59

ビューの処理

echo $appForm->create();

・・・Formの始まりです。別に定義している関数でFormの開始タグを出力します。

<?php echo $titleName ?>

コントローラでセットした$titleNameが出力

<?php echo $appForm->input('Fruit.name',array('type'=>'text','class'=>'wSizeM'))?>

入力する項目のラベルとテキストボックスを配置

第一引数にこの入力タグに対応する{モデル名.列名}

第二引数配列になっており、INPUTタグに通常与える属性‘type’ => ‘text’ ・・・ テキストボックス

CSS で事前に設定したWSizeM をclass で指定

echo $appForm->end();

・・・別に定義する関数で、Formの閉じタグが出力されます。



登録処理

<input type="submit" name="save" id="save" value="登録" />

 登録ボタンのname属性値は「save」、つまり登録ボタンが押された時コントローラにはこ

の名前で登録ボタン押下が通知されます。

通知の受け取り方は下記です。

//登録

if( isset( $this->params['form']['save'] ) ) {

}

 登録ボタンが押されたら・・・

1 入力チェック

2 入力チェックがOKならDBへ登録、NGならエラー表示

3 DBへの登録後は登録完了メッセージを表示(この時登録したデータが表示されて

いる)

2012-08-30

[] 10:25

メモ

  • 内部でのみ使う関数の名前にはアンダースコアを接頭辞として命名。

モデル:単数形 ファイル名

コントローラ:複数形 ファイル名

ビュー:複数形 フォルダ名





参考サイト

CakePHPプラグインのまとめ – 総括編

http://1-byte.jp/2010/09/06/introduce_cakephp_plugins/



メディアビューの使い方 –

http://yoichiuomi.com/blog/2010/12/cakephp-using-mediaview/



Smartyフレームワーク(その1:CakePHP編)

http://www.phppro.jp/school/smarty/vol11/1

2012-06-21

[] SQL23:33

not null(必須項目入力)

IDは、自動で与えられる

auto_increment(自動的に連番の値が格納される)

primary key このデータテーブルの主キーとして、機能する列の配列を取得または設定

2012-03-07

[] XAMPP(ザンプ)win 19:32

インストールの仕方 win

http://www.be-webdesigner.com/technotes/server/install/xampp.htm

アンインストールの仕方 win

プログラムの追加と削除からアンインストールまたは

スタート→全てのプログラム→・・・ApacheFriends→・・・

からアンインストール

フォルダを削除する方法としてはパソコンを再起動するかセーフモード

2012-03-06

[] MAMP mac 22:52

http://www.be-webdesigner.com/technotes/server/install/mamp.htm

http://nskw-style.com/2012/cakephp/install-cakephp2-to-mac-mamp.html

MySQLが起動しなくなる

MAMPを起動させた状態で、MacのTerminal.appで “killall -9 mysqld” を実行

2011-12-03

[] ALTER TABLE カラム追加 23:31

ALTER TABLE email_list ADD id INT NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY(id)

※変更したいテーブル

※ADDしたい新しいカラムをidという名にした

整数(INT)します

※このカラムの値は1ずつ増える

※このカラムは最初におきます

[] DELETE 削除 13:43

DELETE FROM `email_list` WHERE `first_name` = 'まさき'

DELETE FROM `email_list` WHERE `first_name` = 'まさき' OR last_name = '山田';

DELETE FROM `email_list` WHERE `last_name` = '山田'

2011-12-01

[] データ型 17:51

INT 数字

CHAR(1) yes NO

DATA 日付

TIME 時間

VARCHAR(60) 氏名 メールアドレス テキストの長さに関して変わる

CHAR(2) 2文字の表記(カラムに入るはずの文字の長さが予め完全にわかっている場合)

DATETIME 日付&時間

2011-11-28

[] PHPで接続方法 23:47

※接続には4つのデータが必要(データベースホスト名、データベースユーザー名、データベースパスワードデータベース名)

$dbc = mysqli_connect('localhost','root','root','ssss_xxxxx')or die('エラー:MYSQLサーバーとの接続に失敗しました');

文字化け回避

mysqli_set_charset($dbc,"utf8");

赤テーブル名

青カラム

$query = "INSERT INTO xxx_xxxx(last_name,first_name,when_it_happened,how_long,".how_many,a_description,what_they_did,fang_spotted,other,email)". "VALUES('$last_name','$first_name','$when_it_happened','$how_long','$how_many','$a_description',"."'$what_they_did','$fang_spotted','$other',".

"'$email')";

MYsqlサーバーとの接続を閉じる

$result = mysqli_query($dbc,$query)or die('エラー:データベースとの問い合わせに失敗しました');

mysqli_close($dbc);

[] SELECT文 抽出 23:38

test_listのtest_karamuのはいを抽出

SELECT * FROM test_list WHERE test_karamu = "はい"

テーブル名

カラム名

test_listのtest_karamuが’ただお’のtest_nameを抽出

SELECT * test_name FROM test_list WHERE test_karamu = "ただお"

2011-10-02

[] Array 配列 10:37

myObj = [2,5,4]

myArr = Array(myObj);

[] for文 10:35

var list:Array = [5, 4, 3, 10, 8, 6, 7, 11, 14, 13];//listという配列を宣言し、10個の値

var sum:int; //sumという名前の変数を宣言

for (var i:int = 0; i < 10; i++) { //処理を10回繰り返しています

sum = sum + list[i]; //代入演算子を使用し、sumに配列のそれぞれの値を加算

trace(i);

}

「sum = sum + list[i];」を10回繰り返しています。iには0から9までの数字が入り、最終的に配列のすべての要素を足したものが、sumに代入されていることになります。

2011-07-05

[] フォルダ名、トップページアドレス変更 19:18

topページのアドレスを変更

WordPressの管理画面から設定→一般設定を開く。

wordpressのアドレスhttp://www.xxxx.com/wp(フォルダ名)]へ変更

ブログのアドレスhttp://www.xxxx.comへ変更

wordpressフォルダ内にあるindex.php.htaccessを先ほど設定したブログのアドレスのフォルダへコピー

index.phpの以下の所を変更

require('./wp-blog-header.php'); → require('./wordpress/wp-blog-header.php');

修正

URLhttp://www.xxxx.com/WordPressの管理画面のサイトを表示からブログが表示されれば変更完了。

フォルダ名変更

wordpress/wp-login.phpログイン

各種設定=>一般設定=>WordPress のアドレス/ホームページアドレスを変更

「設定を更新」ボタンを押すとリダイレクト

ftpソフトでディレクトリ名を変更

新しいアドレス(/xxxx/wp-login.php)でログイン

IDとPW入力で、通常通りログインできる。

2011-07-01

[] プラグイン 14:50

Contact Form 7

有効化した後、左のメニューに「お問い合わせ」が追加されるカスタマイズした後に

[contact-form 1 "XXXXX"]をページの編集画面にコピーする

WP-SWFObject

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/swfobject.js"></script>

<script src="<?php bloginfo('template_directory'); ?>/js/AC_RunActiveContent.js" type="text/javascript"></script>

<?php wp_swfobject_echo("フルパス/top.swf", "100%", "252"); ?>


<?php get_header(); ?>を書かないと動かない。

書かない場合(headに書くべし)

<script src="http://localhost/wordpress/wp-content/plugins/wp-swfobject/2.0/swfobject.js" type="text/javascript"></script>

[] よく使う一覧 no,03 09:56

Javascriptのリンク

script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/XXXX.js"></script

2011-06-29

[]  専用テンプレートを作る 13:53

2つ目のテンプレートを作る

page-test.php

固定ページの編集画面の「スラッグ」の所をtestに変える

カテゴリの場合

category-slug.php - 例えばカテゴリーのスラッグが "test" の場合は category-test.php

タグの場合

tag-slug.php



固定ページの制作

page.phpを作成(固定ページ=page.php


testtest.phpの作成

<?php

/*

Template Name: テストテストテンプレート

/*

?>

と記載

2011-06-28

[] コメント (comments.php) 00:28

受信したコメントがある時だけ見出しを表示

<?php if(have_comments()): ?>

<?php endif; ?>

受信したコメント表示 + 受信したコメントの出力をカスタマイズ

<?php wp_list_comments('callback=mydesign'); ?>

受信したコメントの出力をカスタマイズ(functions.phpに記載)

function mydesign($comment, $args, $depth){

$GLOBALS['comment'] = $comment; ?>

<?php

}

投稿フォーム表示(index.phpに記載(comments.phpを読みこむ)

<?php comments_template(); ?>

/*コメントRSSへのリンクを追加*/

<?php post_comments_feed_link(); ?>

/*トラックバックURL追加*/

<strong>トラックバックURL:</strong>

<?php trackback_url(); ?>

/*トラックバック送信を許可したときだけ表示*/

<?php if(pings_open()): ?>

<?php endif; ?>

[] よく使う一覧 functions.php 00:17

<?php

//ここに書く

?>

//ウィジェット呼び出し(2つ使うときは2つ書く)

register_sidebar();

register_sidebar();

//カスタムメニュー(メニュー2つのとき)メニュー>ナビゲーションバー。サブロケーションを選択

register_nav_menus(array('navigation'=>'ナビゲーションバー','sublocation'=>'サブロケーション'));

ナビゲーションバー表示(index.phpに記入)

<?php wp_nav_menu(array('theme_location' => 'navigation')); ?>

サブロケーションの表示(index.phpに記入)

<?php wp_nav_menu(array('theme_location' => 'sublocation')); ?>

//コメントの本文を表示|

<li class="compost">

<?php comment_text(); ?>

//コメントの投稿日時を表示|投稿者名を表示

<?php comment_date(); ?><?php comment_time(); ?>|

<?php comment_author_link(); ?>

//カスタム背景機能を有効にする

add_custom_background();

背景を表示する(index.php or header.phpに記載)

<?php wp_head(); ?> </head>内に記載

[] よく使う一覧 index.php style.css 23:30

style.cssに記入

/*

Theme Name: Tamp_01

Theme URL: http://www.www.www/

Description: This is my sample theme.

/*

メインインデックステンプレート (index.php)

(<>大文字)

タイトル追加

<?php bloginfo('name'); ?>

個別ページタイトル追加

<?php wp_title(); ?>

スタイルシート適用

<link rel="stylesheet" href=""type="text/css" />

RSSフィードが自動検出されるようにする(headに記載)

<link rel="alternate" type="application/rss+xml" title="RSS フィード" href="<?php bloginfo('rss2_url'); ?>" />

RSSフィールド追加(bodyに記載)

<img src="<?php bloginfo('template_url'); ?>/feed-icon-28x28.png" alt"*" width="28" height="28" /><a href="RSS FEED</a>

タイトル表示 & link設定

<a href="<?php echo home_url(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/title_h1.jpg" alt"*" width="260" height="39" /></a>

説明表示

<?php bloginfo('description'); ?>

カテゴリーページだけ出力

<?php if(is_category()): ?>

<?php endif; ?>

カテゴリー名を表示

<?php single_cat_title(); ?>

月別ページに出力

<?php if(is_month()): ?>

<?php endif; ?>

年月を出力

<?php single_month_title(); ?>

アーカイブ関連だけに出力(トップページ以外)

<?php if(is_archive()): ?>

<?php endif; ?>

ループ処理

<?php if(have_posts()): while(have_posts()):the_post(); ?>

<?php endwhile; endif; ?>

タイトル記事表示

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

記事本文表示

<?php the_content(); ?>

記事投稿日・時刻・カテゴリ・コメント数情報とリンク

<?php echo get_the_date(); ?><?php the_time(); ?>|カテゴリー:<?php the_category(','); ?>|<a href="<?php comments_link(); ?>">コメント>?php comments_number('(0)','(1)','(%)'); ?></a>

前後の記事へのリンクを個別ページだけに表示する

<?php if(is_single()): ?>

<?php previous_post_link(); ?>

<?php next_post_link(); ?>

<?php endif; ?>

トップだけの出力

<?php if(is_home()): ?>

<?php endif; ?>

固定ページだけに出力(お問い合わせ)

<?php if(is_page('お問合わせ')): ?>

<?php endif; ?>

エクスクラメーション)をつけることで結果が逆にする事が出来る・・・固定ページ以外に出力(お問合わせ)!

<?php if(!(is_page('お問合わせ'))): ?>

<?php endif; ?>

古い記事のページへのリンク

<?php next_posts_link('«古い記事') ?>

新しい記事のページへのリンク

<?php previous_posts_link('新しい記事 »'); ?>

投稿フォーム表示(comments.phpを読みこむ)

<?php comments_template(); ?>

管理者のメールアドレスへのリンクを設定する

<address>Copyright ©<a href="mailto:<?php bloginfo('admin_email'); ?>">Hidamari Diary,ALL rights reserved.</address>

ヘッダーを読み込むためのテンプレートタグ(header.php

<?php get_header(); ?>

フッダーを読み込むためのテンプレートタグ(footer.php

<?php get_footer(); ?>

サイドバーを読み込むためのテンプレートタグ(sideber.php

<?php get_sideber(); ?>

コメントを読み込むためのテンプレートタグ(comments.php

<?php comments_template(); ?>

検索フォームを読み込むためのテンプレートタグ(searchform.php

<?php get_search_form(); ?>

カスタムを読み込むためのテンプレートタグ(aaa.php

<?php get_template_part('aaa'); ?>

2011-06-20

[] 00:31

(<>大文字)<?php bloginfo(); ?>、WordPressの設定情報を出力するテンプレートタグです。

記入するときは、以下のパラメータ

2011-06-17

[]_インストール方法 15:58

wp-config-sample.phpファイルをwp-config.phpに変更

/** WordPress のためのデータベース名 */

define('DB_NAME', 'wordpress');

/** MySQL データベースのユーザー名 */

define('DB_USER', 'root');

/** MySQL データベースパスワード */

define('DB_PASSWORD', '');

/** MySQL のホスト名 */

define('DB_HOST', 'localhost');

*/

$table_prefix = 'wp_01';

2011-05-31

[] デモ 00:56

import caurina.transitions.Tweener;

import caurina.transitions.properties.CurveModifiers;

CurveModifiers.init();

// フレームアクションでPapervision3D

import org.papervision3d.cameras.Camera3D;

import org.papervision3d.events.*;

import org.papervision3d.events.InteractiveScene3DEvent;

import org.papervision3d.objects.DisplayObject3D;

import org.papervision3d.objects.primitives.*;

import org.papervision3d.materials.WireframeMaterial;

import org.papervision3d.materials.utils.MaterialsList;

import org.papervision3d.view.BasicView;

import org.papervision3d.view.*

import org.papervision3d.materials.*

// 3D表示用のインスタンスを作ります

var world:BasicView = new BasicView(1000,1000,true,true);

addChild(world);

world.startRendering();

// テクスチャー(=マテリアル)を作ります

var material00 = new WireframeMaterial(0x0000FF);

material00.doubleSided = true;

var obj:Plane = new Plane(material00, 2000, 2000, 1, 1);

world.scene.addChild(obj);

obj.rotationX = 90;

obj.y = -100;

var material:BitmapAssetMaterial = new BitmapAssetMaterial('oi')

material.doubleSided = true;

material.interactive = true; //イベント有効化

var cube:Cube = new Cube(new MaterialsList({all : material}),100, 100, 100, 1, 1, 1);

world.scene.addChild(cube);

var material02 = new ColorMaterial(0x0000FF);

material02.doubleSided = true;

material02.interactive = true; //イベント有効化

var cube02:Cube = new Cube(new MaterialsList({front: material02}), 100, 100, 100, 1, 1, 1);

//front, back, right, left, top, bottom & all.

world.scene.addChild(cube02);

cube02.x = -175;


var material03 = new WireframeMaterial(0x0000FF);

material03.doubleSided = true;

material03.interactive = true; //イベント有効化

var cube03:Cube = new Cube(new MaterialsList({all : material03}),100,100,100,1,1,1);

world.scene.addChild(cube03);

cube03.x = -350;

var material04 = new WireframeMaterial(0x0000FF);

material04.doubleSided = true;

material04.interactive = true; //イベント有効化

var cube04:Cube = new Cube(new MaterialsList({all : material04}),100,100,100,1,1,1);

world.scene.addChild(cube04);

cube04.x = 175;

addEventListener(Event.ENTER_FRAME, loop);

// エンターフレームでのアニメーションを設定します

function loop(e:Event) {

cube.rotationY += 2;

cube.rotationX += 2;

cube02.rotationX -= 1;

cube02.rotationY += 2;

cube03.rotationX += 2;

cube03.rotationY -= 2;

cube04.rotationX -= 3;

cube04.rotationY -= 2;


}

//CameraType.FREE

world.camera.target = null;


//world.camera.focus = 20;

world.camera.y = 500;

world.camera.x = 0;

world.camera.z = 0;

world.camera.rotationY = 0;

world.camera.rotationX = 90;


cube.addEventListener(InteractiveScene3DEvent.OBJECT_OVER,OVERHandler);

function OVERHandler(e:Event):void{

Tweener.addTween(world.camera,{y:200,x:0,time:1});

}

cube.addEventListener(InteractiveScene3DEvent.OBJECT_OUT,OUTHandler);

function OUTHandler(e:Event):void{

//world.camera.target = cube03;

Tweener.addTween(world.camera,{y:500,x:0,time:1});

}

cube02.addEventListener(InteractiveScene3DEvent.OBJECT_OVER,OVERHandler02);

function OVERHandler02(e:Event):void{

//world.camera.target = cube02;

Tweener.addTween(world.camera,{y:200,x:-150,time:1});

}

cube02.addEventListener(InteractiveScene3DEvent.OBJECT_OUT,OUTHandler02);

function OUTHandler02(e:Event):void{

//world.camera.target = cube03;

Tweener.addTween(world.camera,{y:500,x:0,time:1});

}

cube03.addEventListener(InteractiveScene3DEvent.OBJECT_OVER,OVERHandler03);

function OVERHandler03(e:Event):void{

//world.camera.target = cube03;

Tweener.addTween(world.camera,{y:200,x:-300,time:1});

}

cube03.addEventListener(InteractiveScene3DEvent.OBJECT_OUT,OUTHandler03);

function OUTHandler03(e:Event):void{

//world.camera.target = cube03;

Tweener.addTween(world.camera,{y:500,x:0,time:1});

}

cube04.addEventListener(InteractiveScene3DEvent.OBJECT_OVER,OVERHandler04);

function OVERHandler04(e:Event):void{

}

2011-05-30

[] InteractiveScene3DEvent 23:46

/*//////////////////////////////////////////////////////////////

BitmapData関連

BitmapAssetMaterial ・・・ 画像をライブラリからテクスチャマッピング

BitmapColorMaterial ・・・ 塗りつぶしビットマップテクスチャマッピング

BitmapFileMaterial ・・・ 外部画像ファイル読み込み、テクスチャマッピング

BitmapMaterial ・・・ BitmapDataオブジェクトテクスチャマッピング

BitmapViewportMaterial ・・・ Viewportをビットマップ化してテクスチャマッピング

BitmapWireframeMaterial ・・・ ワイヤーフレームビットマップテクスチャマッピング

MovieClip関連

MovieAssetMaterial ・・・ ムービークリップライブラリからテクスチャマッピング

MovieMaterial ・・・ ムービークリップテクスチャマッピング

Graphic関連

ColorMaterial ・・・ べた塗りをテクスチャマッピング

WireframeMaterial ・・・ ワイヤーフレームテクスチャマッピング

Video関連

VideoStreamMaterial ・・・ 動画をテクスチャマッピング

[] _色々 15:48

//読み込み////////////////////////////////////

外部読み込み

var material00:BitmapFileMaterial = new BitmapFileMaterial('test360.jpg')

内部にてリンゲージ

var material:BitmapAssetMaterial = new BitmapAssetMaterial('jp_01')

//Debug_camera///////////////////////////////

var world:BasicView = new BasicView(1000,1000,true,true,"Debug");

addChild(world);

//Primitive///////////////////////////////

new Plane(material, 500, 500, 1, 1);

new Sphere(material, 100, 8, 8);

new Cube(new MaterialsList({all : material}), 500, 500, 500, 1, 1, 1);

new Cone(material, 100, 100, 8, 6);

new Cylinder(material, 100, 100, 8, 6, -1);

new PaperPlane(material, 0);

new Arrow(material);

//CameraType.FREE/////////////////////////

world.camera.target = null;

//debag.Camera///////////////////////////

camera = new DebugCamera3D( _viewport );

//MouseEvent///////////////////////

InteractiveScene3DEvent.OBJECT_CLICK

InteractiveScene3DEvent.OBJECT_OVER

InteractiveScene3DEvent.OBJECT_OUT

InteractiveScene3DEvent.OBJECT_MOVE

InteractiveScene3DEvent.OBJECT_PRESS

InteractiveScene3DEvent.OBJECT_RELEASE

InteractiveScene3DEvent.OBJECT_RELEASE_OUTSIDE

Flint

http://flintparticles.org/

[] Stardust 停止 19:04

import idv.cjcat.stardust.common.actions.*;

import idv.cjcat.stardust.common.clocks.*;

import idv.cjcat.stardust.common.initializers.*;

import idv.cjcat.stardust.common.math.*;

import idv.cjcat.stardust.twoD.actions.*;

import idv.cjcat.stardust.twoD.emitters.*;

import idv.cjcat.stardust.twoD.initializers.*;

import idv.cjcat.stardust.twoD.renderers.*;

import idv.cjcat.stardust.twoD.zones.*;

import idv.cjcat.stardust.twoD.fields.*;

import idv.cjcat.stardust.twoD.deflectors.CircleDeflector;

// フレームアクションでPapervision3D

import org.papervision3d.cameras.Camera3D;

import org.papervision3d.events.*;

import org.papervision3d.events.InteractiveScene3DEvent;

import org.papervision3d.objects.DisplayObject3D;

import org.papervision3d.objects.primitives.*;

import org.papervision3d.materials.WireframeMaterial;

import org.papervision3d.materials.utils.MaterialsList;

import org.papervision3d.view.BasicView;

import org.papervision3d.view.*

import org.papervision3d.materials.*


var world:BasicView = new BasicView();

addChild(world);

world.startRendering();

// テクスチャー(=マテリアル)を作ります

//var material:BitmapAssetMaterial = new BitmapAssetMaterial('EarthMap')

var material = new WireframeMaterial(0x999999, .5);

material.doubleSided = true;

var obj = new Plane(material, 5000, 5000, 6,6);

world.scene.addChild(obj);

world.camera.x = 800;

world.camera.z = 600;


//Emitter2D.addInitializer(初期設定)

//(1)Clockを作る…パーティクル発生の頻度

//(2)Emitterを作ってclockをセット…エミッターって発生装置みたいなもの(?)

var clock:SteadyClock =new SteadyClock(5);

var emitter=new Emitter2D(clock);

var clickflag:Boolean = false;//パーティクル生成状態判定用

var sprite:Sprite = new Sprite();

addChild(sprite);


//(3)Rendererを作る…画面表示用オブジェクト(?)

//(4)Renderer.addEmitter( Emitter )でエミッターをレンダラーにセット

//(5)Emitter.addInitializer( 発生場所とか発生させるspiteとか )でエミッターを初期設定

var renderer:DisplayObjectRenderer = new DisplayObjectRenderer(sprite);

renderer.addEmitter(emitter);


//パーティクル自身のクラスを指定(雨粒とか点とかを作るクラス)

var displayObjectClass:DisplayObjectClass = new DisplayObjectClass(star01);

emitter.addInitializer(displayObjectClass);


//パーティクルの速度(?)を指定→idv.cjcat.stardust.twoD.zones 2DのZoneクラス)CircleZone,Line,RectZone,SectorZone,SinglePoint,LazySectorZoneなど

var velocity:Velocity = new Velocity(new LazySectorZone(5, 1));

emitter.addInitializer(velocity);

//パーティクルの固まり具合(?)の範囲

var mass:Mass = new Mass(new UniformRandom(1, 10));

emitter.addInitializer(mass);

// パーティクルの不透明度の範囲

var alpharr:Alpha = new Alpha(new UniformRandom(0.1, 1));

emitter.addInitializer(alpharr);

//パーティクルの寿命の範囲

var life:Life = new Life(new UniformRandom(30, 0));

emitter.addInitializer(life);

// パーティクルの粒の大きさの範囲

var scale:Scale = new Scale(new UniformRandom(0.01, 1));

emitter.addInitializer(scale);

//パーティクルの動く角度の範囲

var rotationn:Rotation = new Rotation(new UniformRandom(5,5));

emitter.addInitializer(rotationn);

//オメガって何ですか?角速度?

var omega:Omega = new Omega(new UniformRandom(5,5));

emitter.addInitializer(omega);

// パーティクルの発生するエリアを指定→idv.cjcat.stardust.twoD.zones2DのZoneクラス)CircleZone,Line,RectZone,SectorZone,SinglePoint,LazySectorZoneなど

var position:Position = new Position(new SinglePoint(300,300));

emitter.addInitializer(position);

//Emitter2D.addAction(アクション)

//(6)Emitter.addAction( 寿命の長さとか重力とか )で実際の動きを設定

//パーティクルの動きを増幅する。例えば2にすれば同じ速度で2回動く(?)

var move:Move = new Move();

emitter.addAction(move);

//範囲指定x:0〜1000,y:0〜600

//var deathZone:DeathZone = new DeathZone(new RectZone(0, 0, 1000, 600), true);

//emitter.addAction(deathZone);

//ランダムな加速をさせる

var randomDrift:RandomDrift = new RandomDrift(2);

emitter.addAction(randomDrift);

//Fieldオブジェクトに対して重力をかける

var gravity:Gravity = new Gravity();

emitter.addAction(gravity);

//角速度omegaに対して回転数を指定

var spin:Spin = new Spin(1);

emitter.addAction(spin);

// 寿命を有効化

var age:Age= new Age();

emitter.addAction(age);

//消えるを有効化

var deathLife:DeathLife= new DeathLife();

emitter.addAction(deathLife);

//???

var explode:Explode = new Explode(0,0,300,300);

emitter.addAction(explode);

//???

var spawn:Spawn = new Spawn();

emitter.addAction(spawn);



//(7)Event.ENTER_FRAMEやTimerEvent.TIMERに、Emitter.step()を関連づけて表示を更新

stage.addEventListener(MouseEvent.CLICK, downHandler);

function downHandler(e){

if( !clickflag ){// falseなら

clock.ticksPerCall = 5;//パーティクルを1フレごとに5個作る

clickflag = true;

}else{//trueなら

clock.ticksPerCall = 0;//パーティクルは0;

clickflag =false;

}

addEventListener(Event.ENTER_FRAME, emitter.step);

//ENTER_FRAME停止

}

//addEventListener(Event.ENTER_FRAME, emitter.step);




////////////////////////////////////////////

参考サイト

http://blog.rainyday.jp/flash/pv3d/stardust02.html

2011-05-27

[] Stardust 参考 11:23

import idv.cjcat.stardust.common.actions.*;

import idv.cjcat.stardust.common.clocks.*;

import idv.cjcat.stardust.common.initializers.*;

import idv.cjcat.stardust.common.math.*;

import idv.cjcat.stardust.twoD.actions.*;

import idv.cjcat.stardust.twoD.emitters.*;

import idv.cjcat.stardust.twoD.initializers.*;

import idv.cjcat.stardust.twoD.renderers.*;

import idv.cjcat.stardust.twoD.zones.*;

//Emitter2D.addInitializer(初期設定)

//(1)Clockを作る…パーティクル発生の頻度

//(2)Emitterを作ってclockをセット…エミッターって発生装置みたいなもの(?)

var emitter:Emitter2D = new Emitter2D(new SteadyClock(1));

var sprite:Sprite = new Sprite();

addChild(sprite);

//(3)Rendererを作る…画面表示用オブジェクト(?)

//(4)Renderer.addEmitter( Emitter )でエミッターをレンダラーにセット

//(5)Emitter.addInitializer( 発生場所とか発生させるspiteとか )でエミッターを初期設定


var renderer:DisplayObjectRenderer = new DisplayObjectRenderer(sprite);

renderer.addEmitter(emitter);

//パーティクル自身のクラスを指定(雨粒とか点とかを作るクラス)

var displayObjectClass:DisplayObjectClass = new DisplayObjectClass(RainDrop);

emitter.addInitializer(displayObjectClass);

// パーティクルの発生するエリアを指定→idv.cjcat.stardust.twoD.zones2DのZoneクラス)CircleZone,Line,RectZone,SectorZone,SinglePoint,LazySectorZoneなど

var position:Position = new Position(new Line(0, 0, 600, 0));

emitter.addInitializer(position);

//パーティクルの速度(?)を指定→idv.cjcat.stardust.twoD.zones 2DのZoneクラス)CircleZone,Line,RectZone,SectorZone,SinglePoint,LazySectorZoneなど

var velocity:Velocity = new Velocity(new LazySectorZone(1, 5));

emitter.addInitializer(velocity);

//パーティクルの固まり具合(?)の範囲

var mass:Mass = new Mass(new UniformRandom(1, 10));

emitter.addInitializer(mass);

// パーティクルの不透明度の範囲

var alpharr:Alpha = new Alpha(new UniformRandom(0.2, 1));

emitter.addInitializer(alpharr);

//パーティクルの寿命の範囲

var life:Life = new Life(new UniformRandom(2, 3));

emitter.addInitializer(life);

// パーティクルの粒の大きさの範囲

var scale:Scale = new Scale(new UniformRandom(0.01, 1));

emitter.addInitializer(scale);

//パーティクルの動く角度の範囲

var rotationn:Rotation = new Rotation(new UniformRandom(5,5));

emitter.addInitializer(rotationn);

//オメガって何ですか?角速度?

var omega:Omega = new Omega(new UniformRandom(5,5));

emitter.addInitializer(omega);

//Emitter2D.addAction(アクション)

//(6)Emitter.addAction( 寿命の長さとか重力とか )で実際の動きを設定

//パーティクルの動きを増幅する。例えば2にすれば同じ速度で2回動く(?)

var move:Move = new Move();

emitter.addAction(move);

//範囲指定x:0〜1000,y:0〜600

var deathZone:DeathZone = new DeathZone(new RectZone(0, 0, 1000, 600), true);

emitter.addAction(deathZone);

//ランダムな加速をさせる

var randomDrift:RandomDrift = new RandomDrift(2);

emitter.addAction(randomDrift);

//Fieldオブジェクトに対して重力をかける

var gravity:Gravity = new Gravity();

emitter.addAction(gravity);

//角速度omegaに対して回転数を指定

var spin:Spin = new Spin(5);

emitter.addAction(spin);


//???

var explode:Explode = new Explode(0,0,300,300);

emitter.addAction(explode);

//???

var spawn:Spawn = new Spawn();

emitter.addAction(spawn);

//(7)Event.ENTER_FRAMEやTimerEvent.TIMERに、Emitter.step()を関連づけて表示を更新

stage.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);

function downHandler(e){

addEventListener(Event.ENTER_FRAME, emitter.step);

}


//参考サイト http://blog.rainyday.jp/flash/pv3d/stardust5.html

2011-05-26

[] Stardust 1.1.132 Beta 19:08

import idv.cjcat.stardust.common.actions.*;

import idv.cjcat.stardust.common.clocks.*;

import idv.cjcat.stardust.common.initializers.*;

import idv.cjcat.stardust.common.math.*;

import idv.cjcat.stardust.twoD.actions.*;

import idv.cjcat.stardust.twoD.emitters.*;

import idv.cjcat.stardust.twoD.initializers.*;

import idv.cjcat.stardust.twoD.renderers.*;

import idv.cjcat.stardust.twoD.zones.*;

stage.scaleMode = StageScaleMode.NO_SCALE;

root.scrollRect = new Rectangle(0, 0, 300, 300);

var emitter:Emitter2D = new Emitter2D(new SteadyClock(1));

var sprite:Sprite = new Sprite();

addChild(sprite);

var renderer:DisplayObjectRenderer = new DisplayObjectRenderer(sprite);

renderer.addEmitter(emitter);

var displayObjectClass:DisplayObjectClass = new DisplayObjectClass(RainDrop);

var position:Position = new Position(new Line(0, 0, 300, 0));

var velocity:Velocity = new Velocity(new SinglePoint(0, 5));

emitter.addInitializer(displayObjectClass);

emitter.addInitializer(position);

emitter.addInitializer(velocity);

var move:Move = new Move();

var deathZone:DeathZone = new DeathZone(new RectZone(0, 0, 300, 300), true);

emitter.addAction(move);

emitter.addAction(deathZone);

addEventListener(Event.ENTER_FRAME, emitter.step);