NEWS

2016.09.02 「Photoshopとpapervision3dでテクスチャ付3Dを作成する(4)」を更新しました。

  • Web creators

ActionScript

自由に動き回るシンボル

概要

ActionScriptを使用することでシンボルを自由に動き回すことが可能になります。

サンプル解説

四角のシンボルが自由に動きます。ランダムに動くため、画面から出ることもあります。
下部の数値はステータスを表示しています。

作成法

(1) シンボルの作成
  ・シンボルを作成します。
シンボルの作成
(2) ステージに配置
  ・ActionScriptを設定するレイヤー作成する(レイヤー名をActionとする)
  ・シンボル等を設置するレイヤー作成する(レイヤー名をMCとする)
ステージに設置
  ・(1)で作成したシンボルをステージに設置してインスタンス名を「MC」にします。
  ※以下、設置しなくても結構です。
  ・変数を「rota」にしたダイナミックテキストを設置します。
  ・変数を「rotaX」にしたダイナミックテキストを設置します。
  ・変数を「rotaY」にしたダイナミックテキストを設置します。
  ・変数を「rotaPlus」にしたダイナミックテキストを設置します。
  ・変数を「rotaMinus」にしたダイナミックテキストを設置します。
(3) ActionScriptを設定
  ・ステージにActionScriptを設定します。
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
_root.rotaPlus = 0;
_root.rotaMinus = 0;
MCIntervalID = setInterval(rotate, 1200);
 
function rotate() {
 _root.rota = Math.floor(Math.random() * 20);
 _root.rotaX = Math.floor(Math.random() * 20);
 _root.rotaY = Math.floor(Math.random() * 20);
 
 if(_root.rota > 10){
  _root.rotaPlus += 1;
  _root.rotaMinus = 0;
 }else{
  _root.rotaMinus += 1;
  _root.rotaPlus = 0;
 }
 
 if(_root.rotaPlus > 5){
  _root.rota = 0;
 }
 
 if(_root.rotaMinus > 5){
  _root.rota = 0;
 }
}
 
onEnterFrame = function() {
 if(_root.rotaX > 10){
  _root.MC._x += 1 * Math.cos(Math.PI/180 * _root.rota);
 }else{
  _root.MC._x -= 1 * Math.cos(Math.PI/180 * _root.rota);
 }
 
 if(_root.rotaY > 10){
  _root.MC._y += 1 * Math.sin(Math.PI/180 * _root.rota);
 }else{
  _root.MC._y -= 1 * Math.sin(Math.PI/180 * _root.rota);
 }
}

解説

メインとなるのはActionScriptの3行目「setInterval」関数です。
「setInterval(関数名, 間隔, 引数(コンマ可))」と書くことで指定した間隔ごとに関数を実行します。ここでの間隔はミリ秒です。
実行する関数は5行目のfunction内です。ここで3つのランダムの値を決定します。1つ目は同じ方向にばかり進まないようにするための値、2つ目は横方向の値、3つ目は縦方向の値です。
決定した値をもとに27〜39行目でシンボルの移動を行います。「setInterval」を1200ミリ秒ごとに設定しているので、次の1200ミリ秒が来るまでは値に応じて進みます。

ページ上部へ