ラズベリーパイ2を使ってみる – フラッシュのプログラム言語「ActionScript」を動かす! –

スポンサーリンク

コンテンツ


ラズベリーパイ2で動作確認済です!ラズベリーパイ2のOSはRaspbian-jessieです。

必要なソフトのインストール

以下のコマンドを実行すると、必要なソフトがインストールできます!

sudo apt-get mtasc gnash

必要なソフトをインストールする時の様子

上記のコマンドを実行すると、ラズベリーパイ2で以下のように動作します!途中で
>After this operation, 9,440 kB of additional disk space will be used.
>Do you want to continue? [Y/n]
のように表示された場合、「Y」または「y」キーを押した後で【Enter】キーを押してください。
日本語に翻訳すると「このソフトウェアをインストールすると、(数値)KBの容量が使用されます。続けますか?」と質問されています。

sudo apt-get install mtasc gnash
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gnash-common libboost-chrono1.55.0 libjemalloc1 libspeexdsp1
Recommended packages:
  gstreamer0.10-ffmpeg
The following NEW packages will be installed:
  gnash gnash-common libboost-chrono1.55.0 libjemalloc1 libspeexdsp1 mtasc
0 upgraded, 6 newly installed, 0 to remove and 145 not upgraded.
Need to get 2,249 kB of archives.
After this operation, 9,440 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libboost-chrono1.55.0 armhf 1.55.0+dfsg-3 [34.4 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libspeexdsp1 armhf 1.2~rc1.2-1 [42.9 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libjemalloc1 armhf 3.6.0-3 [80.4 kB]
Get:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main gnash-common armhf 0.8.11~git20140419-1+rpi1 [1,533 kB]
Get:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main gnash armhf 0.8.11~git20140419-1+rpi1 [155 kB]
Get:6 http://mirrordirector.raspbian.org/raspbian/ jessie/main mtasc armhf 1.14-3+b1 [402 kB]
Fetched 2,249 kB in 14s (158 kB/s)                                             
Selecting previously unselected package libboost-chrono1.55.0:armhf.
(Reading database ... 150497 files and directories currently installed.)
Preparing to unpack .../libboost-chrono1.55.0_1.55.0+dfsg-3_armhf.deb ...
Unpacking libboost-chrono1.55.0:armhf (1.55.0+dfsg-3) ...
Selecting previously unselected package libspeexdsp1:armhf.
Preparing to unpack .../libspeexdsp1_1.2~rc1.2-1_armhf.deb ...
Unpacking libspeexdsp1:armhf (1.2~rc1.2-1) ...
Selecting previously unselected package libjemalloc1.
Preparing to unpack .../libjemalloc1_3.6.0-3_armhf.deb ...
Unpacking libjemalloc1 (3.6.0-3) ...
Selecting previously unselected package gnash-common.
Preparing to unpack .../gnash-common_0.8.11~git20140419-1+rpi1_armhf.deb ...
Unpacking gnash-common (0.8.11~git20140419-1+rpi1) ...
Selecting previously unselected package gnash.
Preparing to unpack .../gnash_0.8.11~git20140419-1+rpi1_armhf.deb ...
Unpacking gnash (0.8.11~git20140419-1+rpi1) ...
Selecting previously unselected package mtasc.
Preparing to unpack .../mtasc_1.14-3+b1_armhf.deb ...
Unpacking mtasc (1.14-3+b1) ...
Processing triggers for install-info (5.2.0.dfsg.1-6) ...
Processing triggers for shared-mime-info (1.3-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for mime-support (3.58) ...
Processing triggers for gnome-menus (3.13.3-6) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Setting up libboost-chrono1.55.0:armhf (1.55.0+dfsg-3) ...
Setting up libspeexdsp1:armhf (1.2~rc1.2-1) ...
Setting up libjemalloc1 (3.6.0-3) ...
Setting up gnash-common (0.8.11~git20140419-1+rpi1) ...
Setting up gnash (0.8.11~git20140419-1+rpi1) ...
Setting up mtasc (1.14-3+b1) ...
Processing triggers for libc-bin (2.19-18+deb8u1) ...

プログラムを作成する

以下のActionScriptプログラムを「fifty.as」という名前で保存します。

class Fifty {
  static var app:Fifty;
  static var shades:Number = 50;
  static var width:Number = 400;
  static var height:Number = 300;
  var step:Number = 256 / shades;
  var w:Number = width / shades;

  function Fifty() {
    var fig = _root.createEmptyMovieClip("fig", 1);

    for (var i=0; i<shades; i++) {
      var color = (i*step << 16) | (i*step << 8) | (i*step);
      fig.lineStyle(0, color, 100);
      fig.beginFill(color, 100);
      fig.moveTo(i*w, 0);
      fig.lineTo(i*w, height);
      fig.lineTo((i+1)*w, height);
      fig.lineTo((i+1)*w, 0);
      fig.moveTo(i*w, 0);
      fig.endFill();
    }
  }

  static function main(mc) {
    app = new Fifty();
  }
}

ActionScriptは書いたことがないので、下記サイトのスクリプトを引用させていただきました。ありがとうございます。
第408回 Ubuntuで現代芸術を体感する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社より

コンパイル

以下のコマンドを実行すると、ラズベリーパイ2で実際にコンパイルをします!

mtasc -swf fifty.swf -main -header 400:300:30 fifty.as

表示してみる!

以下のコマンドを実行すると、ラズベリーパイ2で実際にflashを表示します!ラズベリーパイ2で動作確認すみです!

gnash fifty.swf

Screenshot from 2016-02-16 17:45:30

ラズベリーパイ2でFlashでよく使われているプログラム言語「ActionScript」を学びたいときに役に立つかと思います!

この記事はお役に立ちましたか?もしお役に立ちましたら、WEB拍手ボタンをクリックしてもらえるとうれしいです!
ぽちっとクリックするだけでブログ更新の励みになります!よろしければおねがいします( ・`ω・´)