2016-04-17 5 views
0

CreateJSを使用して他のものが存在しない図形を作成する方法を考えようとしています。私はどこから始めるべきか、この場合には何を検索するかについてはあまりよく分かりません。基本的には、私の目標はステージ上にサークルを表示することですが、他のステージではサークルは表示されません。他に存在しない図形を作成する

私の質問は、これにアプローチする良い方法は何ですか?これを行うためのコードを作成するのに役立つドキュメンテーションなどがありますか?ここで

Link to JSFiddle

var stage = new createjs.Stage("canvas"), 
    canvas = stage.canvas; 

function createCircle(){ 
    var circle = new createjs.Shape().set({name:"circle"});  
    circle.graphics 
     .beginFill("DeepSkyBlue") 
     .drawCircle(0, 0, 25); 
    circle.x = Math.random() * canvas.width; 
     circle.y = Math.random() * canvas.height;  
    stage.addChild(circle); 
} 

setInterval(function(){ 
    createCircle(); 
    stage.update(); 
    }, 1000); 

答えて

0

彼らは触れていない確実に、円を移入本当に簡単なデモです。

  1. ランダム円サイズを生成
  2. それはその時点で円を描く、触れていない場合、他の円
  3. からの距離を確認し
  4. ランダムX/Yをピック。それはタッチしない場合、再び

http://jsfiddle.net/lannymcnie/2o7do8kf/1/

// Basic distance checking 
var circle = circles[i], 
    dX = circle.x - x, 
    dY = circle.y - y,  
    dist = Math.sqrt(dX*dX + dY*dY); 
if (dist <= size + circle.size) { 
    ok = false; 
    break; 
} 

このデモでは、各サークルを配置するために100回(max)をしようとしてみてください。それが100を超えると、それは完全に諦めるでしょう。これを10,000に増やすことができ、基本的に同じ結果が得られます。

これは明らかにこれを行う最も効率的で複雑な方法ではありませんが、あなたが夢中になることなく探しているものに近いものを得るかもしれません。

関連する問題