No.2ベストアンサー
- 回答日時:
譜面は1つしかありませんが、こんな感じですかね。
1フレーム目に下記のコードをコピペすれば動くと思います。
Eキーをタイミングよく押すとあたり判定が走ります。
内容はソースを読めば、すぐにわかると思います。
import flash.events.Event;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.display.MovieClip;
import flash.display.DisplayObjectContainer;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
graphics.lineStyle(1, 0xffffff, 0.6);
graphics.moveTo(0, stage.stageHeight * 0.5);
graphics.lineTo(stage.stageWidth, stage.stageHeight*0.5);
var markList:Array = [];
const speedX:Number = -5;
var interval:int = 50;
var count:Number = 0;
var hitMC:MovieClip = createHitArea();
addChild(hitMC);
function _onKeyDown(e:KeyboardEvent):void
{
if (e.keyCode == Keyboard.E)
{
hitMcScale();
checkHitMark();
}
}
function checkHitMark():void
{
for (var i:int = 0; i < markList.length; i++)
{
if (hitMC.hitTestObject(markList[i]))
{
markList[i].hit();
break;
}
}
}
function hitMcScale(s:Number = 1.4):void
{
hitMC.scaleX = hitMC.scaleY = s;
}
function createHitArea():MovieClip
{
var mc:MovieClip = new MovieClip();
var g:Graphics = mc.graphics;
g.beginFill(0x00ffaa);
g.drawCircle(0, 0, 40);
g.endFill();
mc.x = 50;
mc.y = stage.stageHeight*0.5;
return mc;
}
function update():void
{
count ++;
if (count%interval == 0)
{
var mark:MovieClip = createMark();
mark.position(stage.stageWidth, stage.stageHeight*0.5)
.appendTo(this);
markList.push(mark);
}
for (var i:int = 0; i < markList.length; i++)
{
if (markList[i].isKilled)
{
markList.splice(markList.indexOf(markList[i]), 1);
continue;
}
markList[i].update();
}
if (hitMC.scaleX > 1)
{
hitMC.scaleX -= 0.05;
hitMC.scaleY -= 0.05;
}
else
{
hitMC.scaleX = hitMC.scaleY = 1;
}
}
function createMark():MovieClip
{
var sp:MovieClip = new MovieClip;
var _speedX:Number = speedX;
var _speedY:Number = 0;
var g:Graphics = sp.graphics;
g.beginFill(0xffffff*Math.random());
g.drawCircle(0, 0, 30);
g.endFill();
sp.cacheAsBitmap = true;
sp.update = function():void
{
this.x += _speedX;
this.y += _speedY;
if (this.x < -this.width - 30 || this.y > stage.stageHeight+100 || this.y < -100)
{
this.kill();
}
};
sp.position = function (x:int, y:int):MovieClip
{
sp.x = x; sp.y = y;
return this;
}
sp.appendTo = function (d:DisplayObjectContainer):MovieClip
{
d.addChild(sp);
return this;
}
sp.kill = function ():void
{
sp.isKilled = true;
sp.parent.removeChild(this);
}
sp.hit = function():void
{
_speedX = 20;
_speedY = Math.random()*30-15;
}
return sp;
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, _onKeyDown);
addEventListener(Event.ENTER_FRAME, function(e:Event):void{
update();
});
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オーケストラ・合唱 曲名がわかりません。 鼻歌検索しても出てこないし、街で聞いたのか映画で聞いたのかもなにもわからないで 1 2022/05/29 23:28
- Safari(サファリ) インターネットの画面を左右に寄せて閲覧する方法を教えてください 1 2022/05/18 21:03
- その他(恋愛相談) 好きな人は~! 2 2022/10/27 23:47
- その他(パソコン・スマホ・電化製品) 無料の動画編集ソフトってありますか? 5 2022/07/06 21:50
- リフォーム・リノベーション 防音のこと、教えてください!!! 遮音性のある、壁はありますか? 状況言います。画像見てください 広 1 2022/12/19 15:31
- 公的扶助・生活保護 生活保護は仕事しても打ち切られますか? ーー以下はある生活保護者の体験談ですーー 所持金がなく親族も 3 2022/09/20 05:10
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- 携帯型ゲーム機 音楽ゲームが下手すぎて死にたいくらいには辛いです。才能ないのでしょうか?友人に上位プレイヤーがいてそ 3 2023/08/09 09:16
- 楽器・演奏 ドラムの太鼓もシンバルも全部叩ける譜面ないですか? 自分は一日最初のドラムで、全ての太鼓とシンバルを 1 2022/03/26 07:12
- ダイエット・食事制限 ダイエットをすると寧ろ食費が嵩むのは私だけでしょうか? 3 2022/11/20 14:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
ウディタで作ったゲームを公開...
-
[AS3]ループするたびに変数等は...
-
swfファイルのfc2ブログへの表...
-
フラッシュゲームアーカイブ2
-
Microsoft edgeでflash player...
-
laptop go2からの買い替え、lap...
-
uwscでExcelに自動記入
-
自分でチラシを作りたいです!...
-
FLASH MX で作成した、flashやA...
-
キャラクター設定について
-
potplayerについて質問です
-
拡張子「swf」の再生方法について
-
Flashの今後について
-
flash (.swf) を編集したい
-
new演算子について教えていただ...
-
この曲はなんでしょう?
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
Form内のselectを連動させるに...
-
arduino プログラムについて
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
私のコンピューター上のファイ...
-
ダウンロードしたデジブックはa...
-
uwscでExcelに自動記入
-
レジリエンス 変換キーが作動し...
-
potplayerについて質問です
-
flash (.swf) を編集したい
-
chrome flash
-
VBAのコンボボックスの年月表示...
-
Flashplayerの運用について
-
iPhoneです。 Adobeフラッシュ...
-
自分でチラシを作りたいです!...
-
adobe flashのページが一回で表...
-
この曲はなんでしょう?
-
ヘッダーデザインをするさい形...
-
Excel VBAについて。
おすすめ情報