![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
AS3.0を勉強しようと思い、CS4の体験版をインストールしました。
Tweenerを試したりAS2.0との違いなど勉強しているところです。
今回困っているのはpapervision3Dでのコンパイルエラーです。
Public Beta 2.0 - Great White というバージョンをダウンロードし、
/ユーザー/classes/org/papervision3d に配置し、クラスパス設定しました。
環境はMac OS X です。
http://www.thinkit.co.jp/images/article/91/3/913 …
上記URLにてpapervision3Dのサンプルをダウンロードし、01Planeフォルダ内plane.flaをダブルクリックで開きムービーの書き出しをしたところ・・・
1137: 引数の数が正しくありません。0 個以下であることが必要です。scene = new Scene3D( container );
1180: 未定義である可能性が高いメソッド OldCube の呼び出しです。cubeObj = new OldCube( material, cubeSize, cubeSize, cubeSize, segment, segment);
1061: 未定義である可能性のあるメソッド renderCamera を、静的型 org.papervision3d.scenes:Scene3D の参照を使用して呼び出しました。scene.renderCamera( camera );
Warning: 3590: ブール値が必要ですが、void が使用されています。ブール式に型強制されます。return (displayObjects[do3d] != null);
Warning: 3590: ブール値が必要ですが、void が使用されています。ブール式に型強制されます。var bEnd:Boolean = i==(iHorNum-0);
といったエラーがずらずら表示されます。他のサンプルでもpapervision3Dを使用したものでは同じようなエラーがでてしまいます。
何か特別な設定が必要なのか、クラスパスの設定なのか、それとも根本的な問題なのか、検討がつきません。。
お解りになる方、助けてください。
No.1ベストアンサー
- 回答日時:
おそらく、あなたがダウンロードしたPapervision3Dと
サンプル(http://www.thinkit.co.jp/images/article/91/3/913 …)
で使われているPapervision3Dのバージョンが違います。
そのサンプルは古いバージョンのPapervision3Dが使われています。
最新のPapervision3Dとは大幅に変更されています。
最新のPapervision3D(Revision 858)では
Scene3Dは引数なしのコンストラクタしか定義されていません。
OldCubeはなく、Cubeしかありません。
そのサンプルがどういうものか知りませんが、Cubeを表示するだけのものなら、以下のようにすればできます。
package {
import flash.display.*;
import flash.events.*;
//Papervision3Dで使うクラスをインポート
import org.papervision3d.cameras.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.render.*;
import org.papervision3d.scenes.*;
import org.papervision3d.view.*;
//メインクラス
public class HelloCube extends Sprite {
private var scene:Scene3D;//シーン(3D空間)
private var camera:Camera3D;//カメラ
private var viewport:Viewport3D;//ビューポート
private var renderer:BasicRenderEngine//描画エンジン
private var cube:Cube//立方体
public function HelloCube() {
//シーン(3D空間)の生成
scene = new Scene3D();
//カメラの生成
camera = new Camera3D();
//カメラの設定
camera.x = camera.y = 0;
camera.z = -1000;
camera.focus = 100;//focus×zoom分、オブジェクトから離れている場合
camera.zoom = 10;//画面に同じ大きさで描画される
//ビューポートの生成
viewport = new Viewport3D(600, 400);
//画面にビューポートを追加
this.addChild(viewport);
//描画エンジンの生成
renderer = new BasicRenderEngine();
//Cube(立方体)の生成
//マテリアルリストの生成
var materialsList:MaterialsList = new MaterialsList();
materialsList.addMaterial(new ColorMaterial(0xFF0000),"front");
materialsList.addMaterial(new ColorMaterial(0x00FF00),"back");
materialsList.addMaterial(new ColorMaterial(0x0000FF),"right");
materialsList.addMaterial(new ColorMaterial(0xFFFF00),"left");
materialsList.addMaterial(new ColorMaterial(0xFF00FF),"top");
materialsList.addMaterial(new ColorMaterial(0x00FFFF),"bottom");
//マテリアルリストを元にCubeを生成
cube = new Cube(materialsList,100,100,100,2,2,2);
//Cubeをsceneに追加
scene.addChild(cube);
//毎フレームの描画処理メソッドを登録
stage.addEventListener(Event.ENTER_FRAME, drawPapervision3d);
}
//毎フレームの描画
private function drawPapervision3d(e:Event):void {
//Cubeを回転
cube.rotationX += 1;
cube.rotationY += 1;
cube.rotationZ += 1;
//cameraから見たsceneをviewportに描画
renderer.renderScene(scene, camera, viewport);
}
}
}
studentE5T様ありがとうございます。
studentE5T様のCube表示スクリプトを試したところエラーは無く、Cubeが表示されました!感動です!
サンプルがコンパイルエラーになるのはバージョンによるものだったんですね。。気づきませんでした。
また、大きく変更されたという事なので、これから勉強していく自分としては
古いバージョンでまず慣れた方がよいのか、新しいバージョンからやっていった方がよいのか判断が難しいですね。
ネットに転がっているサンプルの多くが新しいバージョンで書き出せないのは辛いですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Mac OS 古いMacBook Airって使えますか? 12 2022/12/09 11:04
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- 簿記検定・漢字検定・秘書検定 1週間後にネット試験で日商簿記3級を受験する商業高校生です。 1 2022/09/12 22:29
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- VPN 自分の環境でProton VPNが必要か不要か教えてください。 1 2023/01/23 07:17
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Windows 10 windowsの起動パスワードについて 1 2022/08/15 10:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスを前面に表...
-
Excelのマクロで実行時エラー”1...
-
SPREAD(GrapeCity)のセルにフォ...
-
手からビームって出せるんです...
-
C#でButtonのフォーカス枠を消...
-
雷のようなアニメーションをウ...
-
Chrome フォーカス時に枠が表示...
-
レーザのスポット径の計算式
-
iPhoneのクイックアクションを...
-
au シークレット解除方法。
-
コンボボックスの三角を一時的...
-
入力項目にカーソルの位置づけ...
-
iPhoneのロック画面に出てくる...
-
Macのウィンドウが透ける
-
至急です。 トイレに行きたいな...
-
DAMのデンモクの使い方
-
アクセス2007のエクスポートに...
-
MMDでAVI出力後の映像、音声に...
-
除光液の正しい捨て方がわかり...
-
PowershellでCLIとISEの結果が違う
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
C#でButtonのフォーカス枠を消...
-
Excelのマクロで実行時エラー”1...
-
Chrome フォーカス時に枠が表示...
-
iPhoneのクイックアクションを...
-
コンボボックスの開いたリスト...
-
TDSマジックランプシアター 箱...
-
コンボボックスの三角を一時的...
-
レーザのスポット径の計算式
-
雷のようなアニメーションをウ...
-
DAMのデンモクの使い方
-
初期フォーカスについて
-
ASP.NETにてロストフォーカス処理
-
至急です。 トイレに行きたいな...
-
PowershellでCLIとISEの結果が違う
-
パソコンの液晶画面にマジック...
-
Eclipse Javaエディタでの選択...
-
除光液の正しい捨て方がわかり...
-
手からビームって出せるんです...
おすすめ情報