<utubePlayer.flaに>
//videoIDを配列で定義
var videoidArray:Array = new Array("Q-MnRX12Zx4","lhohonwtCdw","9jCXoWvRExI","nU1V5WCx9Q4","Wz2Pm1xCVtI","guBe54vnjD4","pjo2fCEJ2LM");
//再生するビデオの数
var videoNum = videoidArray.length;
//サムネイルを表示し始める座標
var x0:Number = 410;
var y0:Number = 10;
var count:Number = 0;
//サムネイル表示クラス、ビデオ読み込み・再生クラスの参照
var thumbL:thumbList = new thumbList(videoidArray,x0,y0,videoNum);
var up:utubePlayer = new utubePlayer("Q-MnRX12Zx4", count, videoNum);//最初に再生するビデオを指定
<thumbList.asに>
class thumbList extends MovieClip {
private var currentNum:Number = 0;
public function thumbList(videoidArray:Array, x0:Number, y0:Number, videoNum:Number) {
var slideBar:MovieClip = _root.attachMovie("slideBar", "slideBar", 90, {_x:520, _y:20});
var mask_rec = _root.attachMovie("mask_rec","mask_rec",100,{ _width:600, _height:320,_x:0, _y:10});
_root.setMask(mask_rec);
var count:Number = 0;
for (var i = 1; i<=videoidArray.length; i++) {
var thumb_mc:MovieClip = _root.createEmptyMovieClip("thumb_mc"+i, 100+i);
thumb_mc._x = x0;
thumb_mc._y = y0+75*(i-1);
thumb_mc._xscale = thumb_mc._yscale=80;
thumb_mc._alpha = 50;
var mcLoader:MovieClipLoader = new MovieClipLoader();
var thumb_mcIN:MovieClip = thumb_mc.createEmptyMovieClip("thumb_mcIN"+i, 100+i);
mcLoader.loadClip("http://i1.ytimg.com/vi/"+videoidArray[i-1]+"/default.jpg", thumb_mcIN);
thumb_mc.num = i;
thumb_mc.onRollOver = rollover;
thumb_mc.onRollOut = rollout;
thumb_mc.onRelease = playStart;
}
function rollover() {
this._alpha = 100;
}
function rollout() {
if (this.num != currentNum) {
this._alpha = 50;
}
}
function playStart(){
count++;
currentNum = this.num;
var up:utubePlayer = new utubePlayer(videoidArray[currentNum-1], count, videoNum);
for (i=1; i<videoidArray.length; i++) {
_root["thumb_mc"+i]._alpha = 50;
}
_root["thumb_mc"+currentNum]._alpha = 100;
}
slideBar.onPress = function() {
this.knob.startDrag(true,3,20,3,280);
onEnterFrame = function () {
for (i=1; i<=videoidArray.length; i++) {
_root["thumb_mc"+i]._y = 10+75*(i-1)-75*(videoidArray.length-5)*(slideBar.knob._y-20)/180;
}
};
};
slideBar.onRelease = function() {
stopDrag();
delete onEnterFrame;
};
slideBar.onReleaseOutside = function() {
stopDrag();
delete onEnterFrame;
};
}
}
<utubePlayer.asに>
class utubePlayer extends MovieClip {
public function utubePlayer(videoID:String, count:Number, ypNum:Number) {
var ytplayer:MovieClip = _root.createEmptyMovieClip("ytplayer"+count, count);
ytplayer._x = ytplayer._y=10;
if (count>0) {
var preCount = count-1;
var ytPlayer = _root["ytplayer"+preCount];
ytPlayer.stopVideo();
ytPlayer.clearVideo();
}
//以下の茶色のスクリプトは、http://code.google.com/intl/ja/apis/youtube/flash_api_reference.htmlに記載のものから使用
var ytPlayerLoaderListener:Object = {};
var loadInterval:Number;
ytPlayerLoaderListener.onLoadInit = function() {
loadInterval = setInterval(checkPlayerLoaded, 250);
};
function checkPlayerLoaded():Void {
if (ytplayer.isPlayerLoaded()) {
clearInterval(loadInterval);
}
}
var ytPlayerLoader = new MovieClipLoader();
ytPlayerLoader.addListener(ytPlayerLoaderListener);
ytPlayerLoader.loadClip("http://www.youtube.com/v/"+videoID+"&autoplay=1",ytplayer);
ytplayer._xscale = 80;
ytplayer._yscale = 80;
}
} |