2017-05-02 6 views
0

P5.jsの初心者として、私はインタラクティブなダイスを作りようとしています。ここで唯一の問題は、キューブの両面に異なる顔を残すことです。p5.jsのbox()の各辺に異なる画像を保持する方法はありますか?

let sizeOfCube = 400, img; 

function preload() { 
    img = loadImage("olo/fgfg.jpg"); 
} 

function setup() { 
    createCanvas(windowWidth, windowHeight, WEBGL); 
} 

function draw() { 
    background(250); 
    translate(0, 0, sizeOfCube); 
    if (sizeOfCube > 100) { 
     sizeOfCube -= 10; 
    } 
    rotateX(frameCount * 0.1); 
    rotateY(frameCount * (0.1)); 
    rotateZ(frameCount * 0.1); 
    texture(img); 
    box(70, 70, 70); 
} 

このコードでは、画像を追加しますが、すべての側面に適用されます。

は、ここに私のコードです。 6面すべてに6枚の画像を追加する方法はありますか?デモ(テクスチャなど)hereMight take some time to load. Please wait!

任意の提案や別のアプローチをご覧くださいについては

?教えてください。

+0

あなたはテクスチャを共有して、他の誰もがあなたが得ている動作をテスト/再現するのが簡単にできますか? –

+0

@GeorgeProfenza https://www.openprocessing.org/sketch/425446私は自分の投稿を編集し、デモへのリンクを追加しました。 https://www.openprocessing.org/sketch/425446こちらもそれです。ありがとう! –

答えて

0

一般的には、quad()関数を使用して、それぞれのテクスチャと一緒にキューブを描画したいと思うでしょう。

詳細はthe referenceでご覧になれます。

+0

私はそれを試みました:構文は 'quad(x1、y1、x2、y2、x3、y3、x4、y4)'です。 3dには3軸があるので、私はz軸のために何をするのですか? –

+0

@PrameshBajracharya通常の処理では、Y座標の後にZ座標を追加するだけです。それでも動作しない場合は、P5.jsリファレンスから 'plane()'関数を試してみてください。 –

+0

Z座標を使用しても動作しませんでした。( '' plane() 'は3D空間内で一種の2D形状を与えてくれます。 –

関連する問題