0

*私が読んでいることに注意してください。AppleIncのJavaプラグインがこれを許可していない場合もあれば、そうでない場合もありますが、私はそれをやっているように感じます。言われていること....*

私はJavaアプレットを使用して作成しProcessing 1.5.1ました...自分のWebサイトにアップロードした後、IE、FF、Safari、およびChromeを使用するWindowsで完全に機能します。

ただし、どのブラウザもmacosxで正しく動作することを許可していません。ロードして正常に表示されますが、操作することはできません。

アプリが行うのは、.objをロードし、マウスをドラッグしたときに回転させることだけです。

非常にシンプルなプログラム。しかし、マウスのドラッグ機能は、何らかの理由でMacでは機能しません。アプレットのように、ブラウザやOSからフォーカスを取得することはありません。

私にできることを知っていますか?私はJavaWebStartを使用しています。

*処理は、アプレットをエクスポートするときに.jarおよびjavaスクリプトを生成します。Macで機能させるには、スケッチに何かを追加する必要がありますか?これは私の処理スケッチです:

//this sketch was created as an example for the IMA 
//by Joseph Aaron Campbell
//josephaaroncampbell.com
//it uses OBJLoader and the SAITO example as a base

import processing.opengl.*;
import processing.opengl.PGraphicsOpenGL;//put this in because I got a random error looking for 
                                         //it.probably dont need it
import saito.objloader.*;

OBJModel model ;

float rotX, rotY;

void setup()
{
    size(640, 450, P3D);
    frameRate(30);
    ///keep your poly count 32000 and below for obj files
    //'or youre going to have a bad time'
    //
    //create and load instance of model
    model = new OBJModel(this, "vase_18.obj", "absolute", TRIANGLES);
    model.enableDebug();
    //scale of model. not sure the relationship to original size
    model.scale(10);
    model.translateToCenter();
    stroke(255);
    noStroke();
}



void draw()
{
   //what color is your background? 0=black, 255=white
    background(15);
     //add some info about model and origins
    String s = "Original Vase found at: Http://www.imamuseum.org/art/collections/artwork/abstract-vessel-black  Artist: Odundo, Magdalene";
    fill(200, 200, 200);
    textSize(12);
    textMode(SCREEN);
    textSize(12);
    text(s, 15, 20, 450, 50);

    //retrieve mouse cordinates for later use
    //adds directional light to position of mouse
    float dirY = (mouseY / float(height) - 0.5) * 2;
    float dirX = (mouseX / float(width) - 0.5) * 2;

    //Lights
    directionalLight(100,100, 100, -300, 150, -1);
    lightSpecular(255, 255, 255); 
    shininess(15.0);
    directionalLight(145,145,145, 300, 200, 1);
    directionalLight(100,100,100, -400,400,-1);



   //pushMatrix and popMatrix create little bubble for model to be in
    pushMatrix();//begin changes to model
    translate(width/2, height/2, 0);
    rotateX(rotY*0.4);
    rotateY(rotX*0.4);
    model.draw();
    popMatrix();//end changes to model


}

void mouseDragged()
{

   rotX += (mouseX - pmouseX) * 0.01;
   rotY -= (mouseY - pmouseY) * 0.01;

}//mousevoid

Processingによって生成されたhtmlを介してスケッチをロードする方法:

  ...

  <div id="vase_container">
<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
    width="640"
    height="450"
    archive="http://absolute path to/vase.jar,
             http://absolute path to/opengl.jar,
             http://absolute path to/OBJLoader.jar,
          http://absolute path to/core.jar,
          http://jogamp.org/deployment/jogamp-current/jar/applet-launcher.jar,
          http://jogamp.org/deployment/jogamp-current/jar/jogl.all.jar,
          http://jogamp.org/deployment/jogamp-current/jar/gluegen-rt.jar">
  <!--http://jogamp.org/deployment/webstart/jogl-demos/jogl-demos.jar-->
  <param name="codebase_lookup" value="false" />
  <param name="subapplet.classname" value="vase" />
  <!--<param name="subapplet.displayname" value="Pretty Name Here">-->
  <param name="noddraw.check" value="true" />
  <param name="progressbar" value="true" />
  <param name="jnlpNumExtensions" value="1" />
  <param name="jnlpExtension1"
     value="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" />
  <param name="java_arguments" value="-Dsun.java2d.noddraw=true" />
  <!--<param name="jnlp_href" value="applet-gears.jnlp">-->

        ....
4

1 に答える 1

1

ProcessingOpenGLthroughとのインターフェースJOGL。おそらく、Mac OS バージョンをビルドする必要があります。これには、OpenGL ヘッダーを取得するためにMac開発者ツールをインストールする必要があります。

于 2012-05-08T04:29:05.993 に答える