ドリパス2 対応記念
NewGameWeb JavaScript講座
戻る進むその1 とりあえず振動してみるその2 属性を変えてみる




その2--属性を変えてみる--





 //とりあえずのEMBED内アトリビュート(属性)初期値

 NAME='pru0'           //Embedタグの名前
 AUTOSTART=false       //trueで振動自動スタート
 POWER=7               //振動の強さ1〜7大きいほど強い
 FREQ=10               //on,off一回あたりの振動数かなぁ?
 ONESHOT=''            //ONESHOT有りで一回だけぶるっ。無しだとぶるぶるっ。(笑)
 LOOP=10               //繰り返し数
 ON='512ms'            //512ms 192ms 256msなど
 OFF='512ms'           //512ms 192ms 256msなど
 HIDDEN=true           //trueで非表示

初期値を上記に設定してから、下記のようにそれぞれのアトリビュート(属性)を
少しずつ違えたEMBEDを書き出(document.write)し、

その後、リンクのonMouseOver="doVib('pru0',1)"で

function doVib(n,v) {
  if(DP2){
    document.embeds[n].vibrate=v;
  }
}

が起動して振動するようにしてみた。


このスクリプトは動作テスト用なので実際に使うには煩雑です。そこで、とりあえずの数パターンを 別ページに用意します。(まだリンクしてないのでちょっとまってねf^^;;;;)
1.強力なぶぶぶぶぶぶぶぶぶぶ
2.強力なぶるっ
3.中力なぶぶぶぶぶぶぶぶぶぶ
4.中力なぶるっ
5.非力(笑)なぶぶぶぶぶぶぶぶぶぶ
6.非力なぶるっ

実験


ソース <HTML> <HEAD> <TITLE>(((~~=ω=~~)))その2--属性を変えてみる--</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- /********************************************************** (((~~=ω=~~)))ぷるぷるSCRIPT for DreamPassport/2.0 ぷるぷるパック振動用Function vibWrt(n,a,p,f,os,l,on,of,h) EMBED書出し doVib(name,vibrate) EMBED実行 --------------------------------------------------------- function はなるべくHEADタグの中に記述しておき BODYタグの中で実行する。 vibWrt(n,a,p,f,os,l,on,of,h)でEMBED書き出し。 vibWrt(n,a,p,f,os,l,on,of,h)の引数について n NAME="文字列" Embedタグの名前 a AUTOSTART=true|false trueで振動自動スタート p POWER=数値 振動の強さ1〜7大きいほど強い f FREQ=数値 on,off一回あたりの振動数かなぁ? os ONESHOT ONESHOT有りで一回だけぶるっ。無しだとぶるぶるっ。(笑) l LOOP=数値 繰り返し数 on ON=数値ms 512ms 192ms 256msなど of OFF=数値ms 512ms 192ms 256msなど h HIDDEN=true|false trueで非表示 その後ぶるっと動かす時は、イベント駆動(onMouseOverなど)により doVib(name,vibrate)してください。 doVib("prupru0",1)でぷるぷる。 doVib("prupru0",0)で止め。 --------------------------------------------------------- suport tato@fureai.or.jp 8.14.1999コピー、改造、商用利用、振動歓迎。連絡不要。 http://www.fureai.or.jp/~tato/JS/BOOK/INDEX.HTM */ DP2 = (navigator.userAgent.indexOf('DreamPassport/2')!=-1) function vibWrt(n,a,p,f,os,l,on,of,h){ if(DP2){ var vibHtml='' +'<EMBED TYPE=application/x-dreamcast-vibrate ' +' NAME=' + n +' AUTOSTART=' + a +' POWER=' + p +' FREQ=' + f +' ' + os +' LOOP=' + l +' ON=' + on +' OFF=' + of +' HIDDEN=' + h +'> ' document.write(vibHtml) } } function doVib(n,v) { if(DP2){ document.embeds[n].vibrate=v; } } //--> </SCRIPT> <BODY LINK=orange> <SCRIPT> <!-- /** * アトリビュートを調整したEMBEDタグを作る * (これはテストなのでたくさん作ってますが実際に使うときは当然使うものだけ作るのですよ〜f^^;) */ //とりあえずの初期値 NAME='pru0' //Embedタグの名前 AUTOSTART=false //trueで振動自動スタート POWER=7 //振動の強さ1〜7大きいほど強い FREQ=10 //on,off一回あたりの振動数かなぁ? ONESHOT='' //ONESHOT有りで一回だけぶるっ。無しだとぶるぶるっ。(笑) LOOP=10 //繰り返し数 ON='512ms' //512ms 192ms 256msなど OFF='512ms' //512ms 192ms 256msなど HIDDEN=true //trueで非表示 //TEST 1 ---POWERを0〜7 vibWrt( 'pru0' , AUTOSTART, 0, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru1' , AUTOSTART, 1, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru2' , AUTOSTART, 2, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru3' , AUTOSTART, 3, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru4' , AUTOSTART, 4, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru5' , AUTOSTART, 5, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru6' , AUTOSTART, 6, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru7' , AUTOSTART, 7, FREQ, ONESHOT, LOOP, ON, OFF, HIDDEN) //TEST 2 ---FREQを7〜21 vibWrt( 'pru8' , AUTOSTART, POWER, 7, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru9' , AUTOSTART, POWER, 9, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru10' , AUTOSTART, POWER,11, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru11' , AUTOSTART, POWER,13, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru12' , AUTOSTART, POWER,15, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru13' , AUTOSTART, POWER,18, ONESHOT, LOOP, ON, OFF, HIDDEN) vibWrt( 'pru14' , AUTOSTART, POWER,21, ONESHOT, LOOP, ON, OFF, HIDDEN) //TEST 3 ---ONESHOTの有無 vibWrt( 'pru15' , AUTOSTART, POWER, FREQ, 'ONESHOT' , LOOP, ON, OFF, HIDDEN) vibWrt( 'pru16' , AUTOSTART, POWER, FREQ, '' , LOOP, ON, OFF, HIDDEN) //TEST 4 ---LOOPを0,5,20 vibWrt( 'pru17' , AUTOSTART, POWER,21, ONESHOT, 0, ON, OFF, HIDDEN) vibWrt( 'pru18' , AUTOSTART, POWER,21, ONESHOT, 5, ON, OFF, HIDDEN) vibWrt( 'pru19' , AUTOSTART, POWER,21, ONESHOT,20, ON, OFF, HIDDEN) //TEST 5 ---ONを'192ms','256ms','512ms','10ms' OFFを'512ms'固定 vibWrt( 'pru20' , AUTOSTART, POWER,21, ONESHOT, LOOP, '192ms', '512ms', HIDDEN) vibWrt( 'pru21' , AUTOSTART, POWER,21, ONESHOT, LOOP, '256ms', '512ms', HIDDEN) vibWrt( 'pru22' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '512ms', HIDDEN) vibWrt( 'pru23' , AUTOSTART, POWER,21, ONESHOT, LOOP, '10ms', '512ms', HIDDEN) //TEST 6 ---ONを'0ms'で固定して OFF '0ms','10ms','50ms','100ms','1000ms' vibWrt( 'pru24' , AUTOSTART, POWER,21, ONESHOT, LOOP, '0ms', '0ms', HIDDEN) vibWrt( 'pru25' , AUTOSTART, POWER,21, ONESHOT, LOOP, '0ms', '10ms', HIDDEN) vibWrt( 'pru26' , AUTOSTART, POWER,21, ONESHOT, LOOP, '0ms', '50ms', HIDDEN) vibWrt( 'pru27' , AUTOSTART, POWER,21, ONESHOT, LOOP, '0ms', '100ms', HIDDEN) vibWrt( 'pru28' , AUTOSTART, POWER,21, ONESHOT, LOOP, '0ms', '1000ms', HIDDEN) //TEST 7 ---ONを'512ms'で固定 OFFを'192ms','256ms','512ms','1000ms','100ms','10ms','1ms' vibWrt( 'pru29' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '192ms', HIDDEN) vibWrt( 'pru30' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '256ms', HIDDEN) vibWrt( 'pru31' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '512ms', HIDDEN) vibWrt( 'pru32' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '1000ms', HIDDEN) vibWrt( 'pru33' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '100ms', HIDDEN) vibWrt( 'pru34' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '10ms', HIDDEN) vibWrt( 'pru35' , AUTOSTART, POWER,21, ONESHOT, LOOP, '512ms', '1ms', HIDDEN) //TEST 8 ---HIDDENをtrue false vibWrt( 'pru36' , AUTOSTART, POWER,21, ONESHOT, LOOP, ON, OFF, true) vibWrt( 'pru37' , AUTOSTART, POWER,21, ONESHOT, LOOP, ON, OFF, false) /** * 各アトリビュート別のリンクを作成する */ cnt=0 for(i=0;i<38;i++){ if(i==0)document.write('<P>//TEST 1 ---POWERを0〜7 <BR>') if(i==8)document.write('<P>//TEST 2 ---FREQを7,9,11,13,15,18,21 <BR>') if(i==15)document.write('<P>//TEST 3 ---ONESHOTの有無<BR>') if(i==17)document.write('<P>//TEST 4 ---LOOPを0,5,10<BR>') if(i==20)document.write("<P>//TEST 5 ---ONを'192ms','256ms','512ms','10ms'<BR>") if(i==24)document.write("<P>//TEST 6 ---OFFを'192ms','256ms','512ms','1000ms','100ms','10ms','1ms'<BR>") if(i==31)document.write('<P>//TEST 7 ---HIDDENをtrue false<BR>') document.write('|<A HREF=# onMouseOver="doVib(\'pru'+i+'\',1)"') document.write(' onMouseOut="doVib(\'pru'+i+'\',0)">') document.write('-TEST'+i+ '-') document.write('</A>') } //--> </SCRIPT> </BODY> </HTML>

NewGameWeb
http://web01.fureai.or.jp/~tato/GameWeb/Display/index.cgi