2016-05-09 4 views
0

私は本当にフラッシュでは絶望的ですが、私のコースはそれを紹介するのがいいアイデアだと決めたので、ここで数日間苦労しています。誰かが私が間違ってやっていることを教えてもらえますか?AS3のクリック数と難易度を計算する

私はメニューに3つの難しさがあるカウントゲームをしようとしています。簡単にするために、私は5-10、中程度の10-15と硬い15-20からランダムなコインを生成する必要があります。生成された右の数に達しているかのように、また

私はメッセージが「おめでとう」は

これは私がこれまで持っているものであると言ってポップアップ表示カウントコインを持ってしようとしている..:

import fl.motion.MotionEvent; 
import flash.events.MouseEvent; 

var Count:Number = 0; 

coinz.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_3); 

function fl_MouseClickHandler_3(event:MouseEvent):void 
{ 
    trace("Mouse clicked"); 
} 

var clickCount:int= 0; 

btnnumb.addEventListener(MouseEvent.CLICK,addClick); 

function addClick(evt:MouseEvent):void{ 
    clickCount++; 
} 
textarea.text="SCORE:"+clickCount.toString(); 

var minLimit:uint = 5; 
var maxLimit:uint = 10; 
var range:uint = maxLimit - minLimit; 
var myNum:Number = Math.ceil(Math.random()*range) + minLimit; 
trace(myNum); 


var low:Number = 1; 
var high:Number = 5; 
var result:Number = Math.floor(Math.random() * (1 + high - low)) + low 

stop(); 
+0

実際に発生している問題を指摘する必要があります。あなたは期待どおりに働いていない部分はありますか? – BadFeelingAboutThis

+0

クリック数をカウントするコードを取得しようとしています。そして、私が何をしているのか分かりませんので、難易度メニューを作成することに特別な助けが必要です。 –

+0

あなたの 'addClick'関数の中で(' clickount ++ 'の直後)' textarea.text = "SCORE:" + clickCount.toString(); 'という行を置くべきです。そうでなければテキストボックスは更新されません。 – BadFeelingAboutThis

答えて

1

あなたは少し編成されています。
あなたがベストプラクティスに従うことをしたいなら、あなたはタイムラインであり、タイムライン(利用クラス)
忘れるはずですが...ここにも、すべての変数イベントを置くことをお勧めしスクリプトの先頭の宣言、および後の関数。
2つの数字の間のランダムには、rand(min, max)の方が良い機能を使用できます。

ので、あなたがこのような何か行うことができます。

import fl.motion.MotionEvent; 
import flash.events.MouseEvent; 

stop(); 

//variables name should start with lower case letter by convention 
var count  : Number = 0; 
var clickCount : int = 0; 
var randNumber : int = 0; //define understandable variables name (not myNum) 

//constant variables should be in upper case and words sparated by underline 
var MIN_RAND_LIMIT : uint = 5; 
var MAX_RAND_LIMIT : uint = 10; 

coinz.addEventListener(MouseEvent.CLICK, onCoinzClick); 
btnnumb.addEventListener(MouseEvent.CLICK, addClick); //again 'btnnumb' is bad name 

function onCoinzClick(e:MouseEvent) : void { 
    trace("Mouse clicked"); 
} 

function addClick(e:MouseEvent) : void { 
    clickCount++; 
    //don't need toString in concatenation 
    textarea.text="SCORE:" + clickCount; 
} 

function rand(min:Number, max:Number) : Number { 
    return (Math.floor(Math.random() * (max - min + 1)) + min); 
} 

//test 
randNumber = rand(MIN_RAND_LIMIT, MAX_RAND_LIMIT); 
trace(randNumber); 

/// 
///the rest logic of your game... 
/// 

に編成することが可能な限り試してみて、あなたが仕事をすると良くなって、それがより簡単に見つかります...



を今あなたのゲームについては、いくつかのヒントがあります:

  • 最初のフレームには3つのボタン(簡単、中、ハード)
  • ボタンが最小値と最大値を変更する]をクリックしたとき、クリックされたボタンに依存し、あなたがあなたのゲームプレイロジックを持つことになります第二枠に次のフレーム
  • に行く...

はそれがお役に立てば幸いです。

+0

定数は定数でなければなりません。 'const MIN_RAND_LIMIT' – null

+0

彼のシナリオを見ると、選択した難易度に従って、最初のフレームからその変数を修正したいと考えています。だから私は本当にタイムラインでどのように動作しているのかわかりませんがconstであれば、あなたはconstについて正しいです... –