ウェブDeBLOG|トライデントコンピュータ専門学校 Webデザイン学科

トライデントコンピュータ専門学校 Webデザイン学科の最新情報を紹介しています。学生へのインタビュー記事から学生作品の解説、Webデザイン・マークアップ・プログラミングの授業風景、プロジェクト発表会、名古屋のWeb制作会社情報、イベント参加レポートやWeb制作の技術解説などWeb制作に関連する記事を掲載しています。トライデントコンピュータ専門学校は、いま話題の名古屋駅からユニモール地下街を歩いて3分です。 

2015.04.18 [土] canvas要素でパーティクル vol.2

最終更新:2018.08.17Webサイト制作Tips

前の記事「canvas要素でパーティクル vol.1」の続きです。

ここまでで、四角い粒子が散らばっている動きができています。


index-4.jpg

現在、画面上には変数particleNumに設定されている100個の粒子が表示されており、100以上はでないようにfor文で設定されています。

for (var i = 0; i < particleNum; i++){
    new Particle();
 }

これを一度に100個出るように、setIntarvalに入れると、どばどば〜と粒子が湧き出るように表示されます。

canvas006.jpg

数が多すぎるので、変数particleNumの数値を調整します。10〜20ぐらいでしょうか。
1割ぐらいの粒子の動きが変わるようにMath.randomで設定をします。さらに粒子の透明度も変更します。

- - - - - - - - -
Particle.prototype.draw = function(){
    this.x += this.vx;
    this.y += this.vy;
          
→ if (Math.random() < 0.1){
    this.vx = Math.random() *10 -5;
    this.vy = Math.random() *10 -5;
    }
          
    this.life++;
    if(this.life >= this.maxLife){
    delete particles[this.id];
    }
→ context.fillStyle = "rgba( 255, 255, 255, 0.5)";
    context.fillRect(this.x, this.y, 10, 10);
    };
- - - - - - - - -

さらに、色もランダムに変わるようにします。

context.fillStyle = "hsla("+parseInt(Math.random()*360, 10)+",100%,50%, 0.2)";

前回も書きましたが、白い粒子が表示される毎に全体を黒く塗りつぶすことでアニメーションしているように見せているのですが、この黒に透明度を加えると、都度、不透明度が濃くなり残像が残るようなアニメーションになります。

- - - - - - - - -
setInterval(function(){
→ context.fillStyle = "rgba( 0, 0, 0, 0.1)";
    context.fillRect(0, 0, canvas.width, canvas.height);
          
    for (var i = 0; i < particleNum; i++){
    new Particle();
}
- - - - - - - - -

globalCompositeOperationを使って"source-over"(普通の重なり)から、"lighter"(色を加算)したものへ変化させることにより、中心が光で眩い感じをだしています。

- - - - - - - - -
setInterval(function(){
→ context.globalCompositeOperation = "source-over";
    context.fillStyle = "rgba(0, 0, 0, 0.5)";
    context.fillRect(0, 0, canvas.width, canvas.height);
    for (var i = 0; i < particleNum; i++){
    new Particle();
    }
→ context.globalCompositeOperation = "lighter";
    for ( var i in particles){
    particles[i].draw();
    }
}, 30);
- - - - - - - - -
canvas008.jpg

とりあえず、動く粒子の集合体ができあがりました。次回は、これにインタラクティブな動きを入れていきたいと思います。

Tag : canvas particle

2015.04.16 [木] canvas要素でパーティクル vol.1

最終更新:2018.08.17Webサイト制作Tips

勉強会に参加するために、初めてcanvasでパーティクルの作り方を調べました。自分でも理解しながら制作していきましたので、備忘録として、こちらに書いておきます。

まず、パーティクルとは、

自然界に存在する複雑で不規則な形状をしている火、煙、雲、霧、草、髪などを表現するために考案された。このようなポリゴンや曲面だけでは表現し切れない形状を、微小な粒子の集まりとして記述し、それが動き回る様を確率モデルとして処理する。
http://yougo.ascii.jp/caltar/パーティクル|ASCII デジタル用語辞典

canvas要素とは、

HTML の canvas 要素 (<canvas>) は、スクリプティング(基本的には JavaScript)によりグラフィックを描画する事ができます。 たとえば、グラフの描画、写真の合成、更にはアニメーションの作成までが可能です。<canvas>のブロック内で、代替コンテンツを提供することが可能 (また、提供すべき) です。その内容物は、canvas をサポートしない古いブラウザおよび JavaScript が無効であるブラウザで描画されます。
canvas 要素 - HTML | MDN
htmlを用意します。
<!doctype html>
    <html lang="ja">
    <head>
        
        canvasでparticle
    <script>
        ----------
    </script>
    
    </head>
<body>
</body>
    </html>

body内にcanvas要素をあらかじめ書いておいても良いですが、script内にcanvas要素をJavaScriptで書いて、変数canvasに入れてサイズを設定します。今回は400pxの正方形にしておきます。


そして、canvas要素を利用するための、お約束getContextメソッド、fillRect(x, y, w, h) メソッドをdocument.body.appendChild(canvas);の後に書きます。
fillStyle を使って、指定の矩形領域を塗りつぶします。高さか幅のいずれかが 0 なら、このメソッドは何も作用しません。


400pxの正方形が黒く塗りつぶされると思います。
その正方形の上に、パーティクル(粒子)のパーツを乗せていきます。とりあえず半分の大きさにします。


白いcanvas要素をsetIntervalを使って大きくしていきます。


徐々に大きくなってきます。

index-1.jpg

fillRectメソッド内の引き数でposX, posYが大きさの数値に設定されているので、位置部分に換えて、パーティクルのサイズを10pxで固定します。

context.fillRect(posX, posY, 10, 10,);

このままだとずっと白いcanvas要素が書き続けてしまうので、黒いcanvasで1回毎に塗り直します。


canvas005.jpg

posX, posYに加える数値を変数vx, vyにして、移動する方向を編集しやすくします。
さらに、posYの位置が300を越えた場合、動きが小さくなるように0.5を掛けて、さらに-(マイナス)の値にすることで逆方向へ動かします。
またposYが300を越えれば小さく、逆に動いていき、最後には止まります(実際には止まっていないけど、動きが小さすぎて止まって見える)。


index-2.jpg

関数Particleにして、Math.random()で不規則な方向に動くようにします。

index-3.jpg

粒子をたくさん作るために、配列を作ります。

var particles = {},
particleIndex = 0;

関数particleの中に

particleIndex++;
particles[particleIndex] = this;
this.id = particleIndex;

と入れることで、繰り返される毎に配列に粒子が格納されます。
スピードや数、消える位置を設定すると、花火のようなアニメーションができ上がります。

index-4.jpg

後半、駆け足になってしまいましたが、この続きはvol2で書きます。
この後に数を増やし、動きをランダムにして、色と透明度などを変更するとそれっぽくなります。

Tag : canvas particle
検索フォーム
#NoHeartNoSNS

ハートがなけりゃSNSじゃない!

プロフィール

担当:Webデザイン学科

名古屋駅から歩いて6分、トライデントコンピュータ専門学校のWebデザイン学科を紹介します。

トライデントロゴ

質問などはLINEでどうぞ。

Instagram
Webデザイン学科実績
<プレゼン>
WCAN 2016 Springに参加してきました。
WCAN 2015 Winterに参加しました。
建設業入職者増加プロジェクトの発表会に参加
WCAN 2015 Summerに参加してきました。
WCAN 2013 Winterに参加
WCAN(秋)に参加しました。
無事、発表が終わりました【WordFes Nagoya 2013】
WCAN 2013 Summerに参加してきました。
WCAN 2011 Winter LT&LOGO
学生がライトニングトークで話しました。
<進級展>
2019年度 1年生進級制作展終了しました。
1年生進級展2018「線の群生」終了しました。
1年生進級展「WWW(Welcome to Web World)」を開催しました。
1年生進級展「お母さんの2度見展」を開催中です。
「うぇ~~~~~~~ぶ2016」終了しました。ご来場ありがとうございました!
「うぇ〜〜〜〜〜ぶ!!」終了。ご来場ありがとうございました!
<コンテスト>
信州未来アプリコンテスト0 [ゼロ] 2020 NTTドコモ長野支店賞受賞!
信州未来アプリコンテスト0 [ゼロ] 2019 KDDI賞受賞!
第5回 ソレコン☆ポスコン特別賞受賞
「第1回 専門学校 HTML5作品アワード」技術賞を受賞しました!
NCF2017でグランプリを受賞しました!
信州アプリコンテスト0 [ゼロ] KDDI賞受賞!
NCF2014(スマホアプリ開発テーマ2) 準グランプリ獲得!
最優秀賞!HTML5スマートアプリ&クリエイティブコンテスト
NCF2013グランプリ受賞!!!
<Webサイト制作>
ミス・ユニバース・ジャパン岐阜大会公式Webサイトを作成しました。
建設業入職者増加プロジェクト発表会
Webサイト制作発表会2014
99eagle Webサイトリニューアル公開
99eagle Webサイト公開
「Bloom*Block」Webサイト公開
セントレア「日本の四季 キルト展」Webサイト公開
かっぱ商店街サイト制作
ココストア共同企画「アサココ!」公開
<技能五輪全国大会>
第56回技能五輪全国大会(ウェブデザイン職種)敢闘賞受賞!
第53回技能五輪全国大会(ウェブデザイン職種)その3
第52回技能五輪全国大会が開催されました。
銀メダル・銅メダル獲得【第51回技能五輪全国大会】
第49回技能五輪全国大会結果発表 敢闘賞受賞
第48回技能五輪全国大会結果発表(銀賞・敢闘賞受賞)
第47回技能五輪閉会式 & 結果発表
第46回技能五輪
<若年者ものづくり競技大会>
第14回若年者ものづくり競技大会
第11回若年者ものづくり競技大会 2日目&結果
第9回若年者ものづくり競技大会2日目(競技日)
第8回若年者ものづくり競技大会2日目
第7回若年者ものづくり大会
第6回若年者ものづくり大会2日目
第5回若年者ものづくり大会
第4回若年者ものづくり競技大会閉会式
月別アーカイブ
タグリスト 改

トライデントコンピュータ専門学校Webデザイン学科業界研究WCAN技能五輪ウェブデザイン職種若年者ものづくり競技大会ウェブデザインWebサイトポートフォリオ映画2013名古屋ECCコンピュータ専門学校学生ブログWebデザインWinter2009Webサイト制作1年生進級展JavaScriptWordPress技能五輪全国大会2011アクアリング礒田優卒業制作展入学式かっぱ商店街オープンキャンパスアクセス解析2014矢野りん卒展ライトニングトークWebNagoyaWordpressCSSa-blogcms合同企業展Summer石黒雄介卒業制作若年者ものづくり大会Autumnホームページ・ビルダー体験入学面白法人カヤックWeb制作会社瀬川大勝CGイラスト学科テンプレート作成名古屋駅東京研修2012学生インタビューあいちカレーラーメンコンテスト2015html5閉館日GIOIIJ夏休み佐藤歩杉本拓也夏季閉館日第48回技能五輪全国大会ココストア大阪ウェブデザイン技能競技大会AdobeプレゼンテーションminiJapanHCDin2010HTML5ウェブデザイン技能競技会Flash学生林田実樹jQueryマールCSS3Webクリエイター能力認定試験サイバーエージェントフォトアルバム北濱大輔GridLayoutdisplay:grid制作合宿ブログパーツ情報デザインフォーラムウェブデザイン技能検定トライデント祭り成田篤紀gifアニメ上村水月モリサワBananaAdラーメン愛知県セントレアSpringグリッドレイアウトプロジェクト企業訪問人間中心設計NEXT水野裕太就職活動UXWebデザインギャラリーGoogleCentOSCOMMUNICATION専門学校情報デザインWebワークショップ田中睦翔99eagle2018Calendar桝田草一Advent和み5T(ファイヴティー)たにぐちまことAWARDたこ焼きform要素ForumエイチームスマートフォンWordFesウェブアクセシビリティFICCアンティー・ファクトリー静岡ポートフォリオサイト阿部淳也真鍋大度塚本碧レイアウトlabel要素BoxLike岩手県作品集fieldset要素アップルップルフロントエンドエンジニアマークアップエンジニアparticlecanvas飯田淳介Yahoo!Japan初期設定サーティファイ謹賀新年熊谷佳紀幕張メッセまぼろしうぇーぶtextarea要素option要素input要素愛知県選手団legend要素output要素select要素1年生作品展スマホアプリNTTドコモ東海長屋めぐみコミュニケーションデザインワークショップゴールデンウィーク豊田市美術館F-site2020導入授業WordCamp名古屋開府400年祭MarkupSEO空気人形カリキュラムCMSjbstyleディプロスアサココ!企業課題グループ制作茂森仙直鷹野雅弘2008オンライン授業Zoom情報デザイン基礎DTPWORLDWebリテラシーStoreAppleiPhone結果発表産学協同株式会社スタメンAnalyticsCSSNite戸田芳裕堀尾真衣Plugin卒業式会社訪問メ~テレビジュアルエディタ松本渚知多みるくナゴヤドームカメラ写真ワークショップウェブDeBLOGモンキーワークストライデント合同企業展笈瀬本通りWEBサイト制作者のためのHCDの理解in名古屋中日ドラゴンズ名商連トライデントイラストマップWebデザイナー名古屋市科学館アプリコンテスト鈴木優太久保怜也沖縄学習信州アプリコンテスト[ゼロ]Webアプリ出張講座進級展ドラマ2017ES2015株式会社LIGES6Runstant水野怜美慶華飯店新横浜ラーメン博物館横浜中華街NIKEAndWasThereThen箱根合宿WCAN46日本電子専門学校横浜デジタルアーツ専門学校3校合同発表会鎌倉会社見学森川眞行武豊アニメーションフェスティバルナゴヤSalsaWebデザインスペシャルデー鈴木雄太山川綾那浜松武将都市marker福みつ餃子足立丈也、平子卓哉、増田隼也クリ博就職フェスタTAFF名古屋おもてなし武将隊株式会社エイチームウェブリテラシー協会第一回セミナー夢プロジェクト2009・成果報告会フェンシングIA2010キックオフセミナーeatおかだよういちFlash-GameswonderflKyotodotFesゆるキャラ夏休みの課題マークアップ演習マクロマリオネット映画のオープニング閉会式スポーツアナリティクスHCDプロセスストリートビューclassesJAPANインターネットクリエイティブアワードYahoo!カラー株式会社LIGHTzブランディングスクラップブックAutuminごはんとFlashCREAM情報デザイン教育勉強会ヨウイチイラストコンテストデュエル・マスターズペルソナ/シナリオ法尾鷲高校浅野智梅澤朝樹衣台高校スタジオディテイルズ長谷川恭久スーパーエレメンツ#infoedu教育勉強会ロゴ公募FITC小野裕子コピーライティングノートPC貸与山崎デザイン事務所エペペルソナ&シナリオ法新世界プチ・フレーズ三蔵みの治商店Twitter商店サイト制作v4.0.1愛知商業高校GAUltimateWCAN2017Springグラフィクデザイン茂森名古屋グランパスチタハン10WEBサイト制作者のためのHCD(人間中心設計)の理解コンテスト笈瀬本通ポスターデザイン・コンペディションCODE名古屋クリエイターフットサル名チャリ名駅経済新聞GoogleAnalytics石井研二カメラワーク茜音髙橋期末テスト大西健太田中稚妃呂横浜デジタルアーツSyntaxHighlighter株式会社アクアリング増田悟名古屋サイト改善研究会ソレコン☆ポスコン中級編小林信次CODEポスターデザイン・コンペティションブラザー工業株式会社中部国際空港株式会社2019Andrioid仙直Proxy知多半島学校ターミナルスタジオジブリ・レイアウト展松坂屋美術館ライフスタイルunoplus杉浦麻紀佐藤洋介プロ野球大沢たかお求人世界のCMフェスティバル道頓堀ネスカフェゴールドブレンド落合祐介ポートピア名古屋フナ犬服部友厚技能五輪予選WEBサイト制作者のためのHCDの理解ペルソナ1→10design細川太郎タロヲシナリオiPhone4ITCIRCUS柴乃櫂人広島弁商店街金シャチ商店街ビジュアルデベロップメント伊藤頼子プロトコル分析冬休みYORKE.IA名古屋メディアボンドアクセシビリティサーバー信州アプリコンテストゼロ東京ゲームショウ2009企業賞NCF2017NightCollegeSakae佐藤可士和CS4サムライTEXTURE中村勇吾FLEXFLASHPHP志維堀川友章デザイナーのためのプログラミング入門安藤2020アカデミー賞パラサイトMAX進級制作展DesignFANTASYFINALアートアニメーション武豊町VIIADVENTフォントおじさんCOMPLETECHILDRENTAFF'09広告批評HTML+CSS基礎造形基礎第3回専門学校HTML5作品アワードデッサンActionScript基礎プレゼン演習WCAN×CSSNite西村真里子ミス・ユニバース・ジャパン岐阜大会松井友奈愛知県美術館小林健人FrontendHPデザインデザインコンテスト小林隼大福田将也丹下紘希後期集中授業信州未来アプリコンテストWorld)01CONTESTウェブデザイン部門ニシヤマナガヤカンファレンス未完美術館中村享介toTHEWEB海老江優太NamArtlessASIASIGGRAPHemremVideopuppetry鳥取アンドリュー・ワイエスデザイン鳥取砂丘vwXRAYSagmeisterStefanW+KTokyo(+CRUZ)QubibiHelveticavh2008WinterWebDirectionEast'08デザインのへそ関口浩之株式会社COTSCMS特集新年ソバットシアターコマ撮りアニメ学生参加アイディグラフィックスガンダム2019年グラフィックデザイン今井佳子電信柱エレミの恋ウサビッチ旭食品サンプル製作所食品サンプルNewActionScriptHappyあけましておめでとうカナバングラフィックス富岡聡学科入賞後期D3.jsナゴヤデザインウィーク2009令和2年UNIQLOCK是枝裕和監督人喰いの大鷲トリコPHP勉強会大富豪スコアシートLazyギレン総帥LPOescalatorアニメーションMozoramaAWARDSanimationモーション演習出身高校第4回アックゼロヨン・アワードCG・イラストコンテストヱヴァンゲリヲン新劇場版:破西田幸司デコクレContentsセキュリティGENOウィルス山村浩二フロントエンド音楽ゲーム日本ファルコム□□□switchワークスコーポレーション「ヤノベケンジ-ウルトラ」展安藤志維Tokyo堀川友章OriginalTshirt.stLabuatUTZOOM北川パーヤン進級制作Blogファルコム音楽フリー宣言ofウルトラ展ヤノベケンジYear三瓶黒い太陽TOC国家検定インターネットスキル認定普及協会ライブペイントカスタマイズセミナーマイクロインタラクションCALENDARUNIQLO荒俣宏TableICSメンバーズMILK池田泰延ITホワイトボックスウェブリテラシー協会アイチータ結団式水曜日のカンパネラタカガールサイト授業ネイルサロンマウアtype属性プラネタリアン紅茶専門店Liyn-anアイテムカンパニー日清食品グループジムナストコロンsrcsetAnimationAO特別授業西岡克真加藤ひとみ藤井英一青山敬司山田拓生ResurgenceDay:NCF2014新年のご挨拶親孝行麺の匠涼麺名古屋駅麺通りPlunkerCodeplyjsdo.itオリエンタル第52回技能五輪全国大会keygen要素クイズIndependenceoptgroup要素datalist要素button要素source駅麺通りHTMLJIHYE青空学区栗山聡一EC事業備忘録parseFloat()ホ・ジヘconcrete5HEO第56回技能五輪全国大会中村健太道家陽介parseInt()Designer10日でおぼえるLinuxサーバー入門教室斉藤洸貴NextDoor前川元成cymaトライデント合同企業説明会googleGWDF81教室ランチ石原愛実丸高アロチ本家和歌山中華そば熊野三山丸田屋岩出本店名古屋市営地下鉄柏木祥太スパルタキャンプ大門坂那智の大滝名古屋マークアップ勉強会tableテーブル宇野剛志マカベン熊野古道本州最南端串本八鬼山CSS3&jQueryで作るスマートフォンサイトUI図鑑高校14出前授業平野秀幸採用担当者の心に響くポートフォリオアイデア帳バイドゥ平野健太郎青山高校坂本貴史東京ゲームショウ2018VRカルタアクティビティシナリオ源賢司UXデザインDmm.comKaizenPlatformOculusグロースハッカーグロースハックUI仕事WebディレクターWeb制作のおしごと懇親会合宿制作実績Webプログラマー2016原一浩坂本邦夫合同制作合同制作合宿ウェブアートデザイナーうぇ~~~~~~~ぶワイヤーフレーム新城高校レスポンシブWebデザイン職業実践専門課程専門士学位出席率岡田陽一IA/UXプラクティス木村哲朗AO入試プログラムクイズ森田霞河地芳明沼田啓助八木智章竹中民男カークスヴィル夏麺フェアCodePenHighlighterpictureJSBinJSFiddleインターンシップWF1でBLOG新入生SyntaxCrayon2015年度ScrollmagicScrollMagic冨田伴成3DCG東京コスモGO松田洋樹CGスペシャリストFlexibleBoxFlexbox味仙第56回クリスマス沖縄県アクセシビリティからはじめる、WebサイトのUXデザイWebアクセシビリティVelocity.js建設経営者倶楽部ワクワク建設タウン熊﨑彩イークリエイト第53回コーヒー用品卒業研究制作展HTMLCollectionappendChild()プラネタリウムWWW(Welcome鈴木STUDIO神戸神戸国際展示場髙橋茜音ライアン・ウッドワードマーサ・グレアムドラゴンゲート愛知淑徳大学みつけもの恵那市岩村DRAGONGATE5月11日GoogleロゴWebプログラミング初級講座NodeList東京ゲームショウdocomoドコモTBS2011年度FutureStationNHNわたし、定時に帰ります。芸大CBCLIGロゴマークメールマガジンOhanaゲーム大賞アマチュア部門美大静岡県迎春敢闘賞ツインメッセ静岡プロジェクションマッピングバルサマンGAINAXSUBARU放課後のプレアデスキルターズフェスティバル2011中部国際空港日本の四季卒業・修了制作展愛知県立芸術大学お母さんの二度見展キルト展ECMAScript笈瀬本通商店街JIS津田直明Slimbox2forX8341-3:2010名古屋市中村区FLAVER3.0FLV円JOY!map株式会社アンティー・ファクトリーDTPの勉強部屋ablogcmsマイクロソフト伊達千代北岡弘至3JAPANWORLDCUPMagnumトライデントカレッジKtaistyleCustomSmilies絵文字PhotoshopCS6ぬいぐるみのラパン卒業制作・研究発表会2011Untitled!!!!!!!!祐司英国王のスピーチイマジンカップTeamMonaca情報系学園祭第51回技能五輪全国大会牧野史門脆弱性なんと読む?学生作品集さかなや晴れやか嵐が如くWebデザイン演習UIデザインPerfumebyinspiredRhizomatiksPARTYそこにいない。展ツールFigmaあいちトリエンナーレ2013フジ家55麺屋ココイチlist-itemdisplaylist-style-typeメーカー・ブランドモテ声ボーダーHTML5スマートアプリ&クリエイティブコンテスト最優秀賞ジョルテKDDI韓国NTTドコモ東海支社株式会社サイバーエージェント高橋雅人カレーラーメン麺やOKあけおめ芸術大学NCF2013平成31年美術大学田代豊再進学SVGFacebookページインスタグラムInstagramIllustrator長野張山大祐JQuery第50回結果ベースキャンプ名古屋新入生オリエンテーション料理尾花大輔Bloom*BlockBloosum第7回若年者ものづくり競技大会東京ゲームショウ2012SHOWGAMETOKYO画像をチェックボタンにするMuse東京佐藤ねじいな世みんなのICT就職驛麺通りプレゼンThree.js木下健太郎線の群生株式会社MTG名古屋市名東区企業見学醐りょう日本総合ビジネス専門学校2020新卒Facebookたこ焼きパーティWeb制作合宿Load

メールフォーム

名前:
メールアドレス:
件名:
本文:

東京コスモ
トライデントコンピュータ専門学校
教務課のびのび日記
オフィス川口
Pagetop