Home >> References >> Turtle Graphics Application Programming Interface Table


JavaタートルグラフィックスAPI一覧表

箕原修正SFCタートルグラフィックス0.9.6.3版のメソッドやコンストラクタなどの一覧です。 この記述は、一般のJavaのAPIのメソッドの記述法に準拠する形で記述されています。 メソッドの前にある型名は、メソッドが返す情報の型やクラスを表すものです。voidは 何も返さないことを意味しています。仮引数には、型あるいはクラスと変数名が書かれています。 しかし、実引数で呼び出すときには、型名やクラス名を記述する必要はありません。実引数が、 その型やクラスになっていれば良いのです。それぞれのメソッドに使用例がついていますので、 それを参考にしてみてください。

  例: void print( String s ) → 文字列(String)の実引数を1つ必要なメソッドで、値を返さない
  例: int getIntegerX( ) → 実引数は必要なく、整数の情報を値として返す

以下にタートル・グラフィックスで利用可能な4つのクラスのメソッドについてプログラミングに 必要なものだけを示します。すべてのメソッドが網羅されている訳でないので注意して下さい。


■TurtleFrameクラス

TurtleFrameのクラスのメソッドや定数は、TurtleFrameのサブクラスからは、そのままメソッド名 を記述して呼び出すだけで用いることができます。

★コンソール出力
書式意味と使用例

void print( String s ) 文字列をコンソールに改行しないで出力します。

例:print( "Welcome to the short notation" );

void print( boolean value ) 論理値または論理式の計算結果をコンソールに出力します。

例:print( true && false );

void print( int value) 整数(あるいは整数の式)をコンソールに改行なしで出力します。

例:int x = 32; print( x );

void print( long value) 長整数(あるいは長整数の式)をコンソールに改行なしで出力します。

例:print( 7834378843L );

void print( double value) 実数(あるいは実数の式)をコンソールに改行なしで出力します。

例:print( 23.45e7 );

void printLine( ) コンソールで改行を出力します。

例:printLine( );

void printLine( String s ) 文字列をコンソールに出力してから改行します。

例:long xx = 10; printLine( "SFC Turtle Graphics" + xx );

void printLine( boolean value ) 論理値または論理式の計算結果をコンソールに出力して改行します。

例:printLine( x >= 32 );

void printLine( int value ); 整数または整数の式の計算結果をコンソールに出力して改行します。

例:int x = 32; printLine( x * x );

void printLine( long value ); 長整数または長整数の式の計算結果をコンソールに出力して改行します。

例:long x = 32234322; printLine( x * x );

void printLine( double value ) 実数または実数の式の計算結果をコンソールに出力して改行します。

例:printLine( Math.PI * 2.0 );

void printTurtleVersion( ) タートル・グラフィックスの版を出力して改行します。

例:printTurtleVersion( );

★コンソールからの入力と改行コードの取得
書式意味と使用例

String inputString( ) コンソールから1行入力された文字列を返します(改行コードは入らない)。

例:print( "Please input your name " );
String myname = inputString( );

int inputInteger( ) コンソールから1行入力された文字列を整数として解釈し、整数値を返します。

例:print( "Please input your age " );
int age = inputInteger( );

long inputLongInteger( ) コンソールから1行入力された文字列を長整数として解釈し、長整数値を返します。

例:print( "Please input great number " );
long age = inputLongInteger( );

double inputNumber( ) コンソールから1行入力された文字列を実数として解釈し実数値を返します。

例:print( "Please input your height " );
double myheight = inputNumber( );

String getLineFeed( ) そのオペレーティング・システム固有の改行コード(UNIX,Windows, Macintoshでは異なる)を返します。

例:String lf = getLineFeed( );
print( "This message is folded by line feed " + lf + " and continued..... " );

★ダイアログ
書式意味と使用例

void displayDialog( String s ) 指定された文字列をダイアログに表示します。なおキャンセルボタンが押されたら、 プログラムの実行をそこで終了させます。


例:displayDialog( "Do you want to play this game again? " );

String displayInputDialog( String message, String defaultInput ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 文字列を入れて表示します。ユーザは、このダイアログで文字列を入力することができます。 入力値は文字列として返されます。なおキャンセルボタンが押されたら、 プログラムの実行をそこで終了させます。


例:String inputtext = "0707";
inputtext = displayInputDialog( "Please input month and date as mmdd: ", inputtext );

int displayInputIntegerDialog( String message, int defaultvalue ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 整数を入れて表示します。ユーザは、このダイアログで整数を入力することができます。 入力値はint型の整数として返されます。なおキャンセルボタンが押されたら、 プログラムの実行をそこで終了させます。


例:int age = 21;
age = displayInputDialog( "Please input your age: ", age );

int displayInputIntegerDialog( String message, int defaultvalue, int base ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 整数を入れて表示します。また、3つ目のパラメータ(左記表示ではbase)は、n進数を示します。 ユーザは、このダイアログで整数を入力することができます。 入力値はn進数の整数として解釈され、int型の整数が返されます。なおキャンセルボタンが押されたら、 プログラムの実行をそこで終了させます。


例:int hexavalue = 0;
hexavalue = displayInputIntegerDialog( "Please input hexa decimal value: ", hexavalue, 16 );

long displayInputLongIntegerDialog( String message, long defaultvalue ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 長桁整数(21億を超える整数)を入れて表示します。 ユーザは、このダイアログで長桁整数を入力することができます。 入力値はlong型の長桁整数として返されます。 なおキャンセルボタンが押されたら、プログラムの実行をそこで終了させます。


例:long population = 6000000000L;
population = displayInputLongIntegerDialog( "Please input current population in the world: ", population );

long displayInputLongIntegerDialog( String message, long defaultvalue, int base ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 長桁整数(21億を超える整数)を入れて表示します。 また、3つ目のパラメータ(左記表示ではbase)は、n進数を示します。 ユーザは、このダイアログで長桁整数を入力することができます。 入力値はn進数の長桁整数として解釈され、long型の長桁整数として返されます。 なおキャンセルボタンが押されたら、プログラムの実行をそこで終了させます。


例:long binaryvalue = 0L;
binaryvalue = displayInputLongIntegerDialog( "Please input long binary value: ", binaryvalue, 2 );

double displayInputLongIntegerDialog( String message, double defaultvalue ) 指定された文字列をダイアログに表示し、入力テキストエリアに、デフォルトで指定された 倍精度実数を入れて表示します。 ユーザは、このダイアログで実数を入力することができます。 入力値はdouble型の倍精度実数として返されます。 なおキャンセルボタンが押されたら、プログラムの実行をそこで終了させます。


例:double temperature = 25.1;
temperature = displayInputLongIntegerDialog( "Please input Celsius temperature: ", temperature );
displayDialog( "Fahrenheit for Celsius " + temperature + "℃ is " + (9.0*temperature/5.0+32) + "℉" );

★数への変換と乱数
書式意味と使用例

double convertToNumber( String s ) 受け取った文字列を実数の文字列として解釈し、実数値を返します。


例:double value = convertToNumber( "45.332423e4" );

long convertToLongInteger( String s ) 受け取った文字列を長整数型の整数の文字列として解釈し、長整数値を返します。


例:long value = convertToLongInteger( "4400001000" );

long convertToLongInteger( String s, int base) 受け取った文字列を長整数型のbase進数の整数の文字列として解釈し、長整数値を返します。


例:long value = convertToLongInteger( "440AABEF", 16 ); // 16進数の場合

int convertToInteger( String s ) 受け取った文字列を整数の文字列として解釈し、整数値を返します。


例:int y = convertToInteger( "-440" );

int convertToInteger( String s, int base) 受け取った文字列を整数型のbase進数の整数の文字列として解釈し、整数値を返します。


例:int value = convertToInteger( "ABEF", 16 ); // 16進数の場合

String formatInteger( int min, int max, long value ) 長整数型(整数型)の整数valueを、最小桁数min、最大桁数maxの数字の文字列として変換して返します。 なお、渡された値が最小桁数よりも少ない場合は、左側に0が入れられます。


例:printLine( formatInteger( 6, 6, 12 ) ); // "000012"と表示されます。

String formatNumber( int min, int max, int fmin, int fmax, double value ) 実数型の実数valueを、整数部が最小桁数min、最大桁数max、小数部が最小桁数fmin、 最大桁数fmaxの数字の文字列として変換して返します。 なお、渡された値の整数部が整数部の最小桁数よりも少ない場合は、左側に0が入れられます。 小数部が小数部の最小桁数より少ない場合は右側に0が入れられます。


例:printLine( formatNumber( 4, 4, 3, 3, 12.3 ) ); // "0012.300"と表示される。

double random( double max ) 0以上最大値未満までの範囲の実数の乱数を作って返します。


例:double minute;
minute = random( 60.0 );

double randomNumber( double min , double max ) 最小値以上最大値未満の範囲の実数の乱数を作って返します。


例:double normaldata;
normaldata= randomNumber( -50.5, 50.5 );

int randomInteger( int min , int max ) 最小値から最大値までの整数の乱数を作って返します。


例:int dice = randomInteger( 1, 6 );

★キー入力やマウス入力
書式意味と使用例

int getKey( ) 現在押されているキーコード(各キーに割り当てられている数値)を得ます。


例:int key = getKey( );

boolean isKeyDown( ) キーが現在押されているかどうか(押されている=true,押されていない=false)を得ます。


例:while ( isKeyDown( ) ) { turtle.forward( 2 ); }

public void keyPressed( int keyCode ) { } /td> このメソッドを自分のクラスの中で定義すれば、キーが押されたときに自動的に呼び出されます。 keyCodeには押されたキーのコードが自動的に代入されています。


例:public void keyPressed( int keyCode ) {
   if ( keyCode ==65 ) { turtle.forward( 2 ); } // Aキーの場合
  }

public void keyReleased( int keyCode ) { } このメソッドを自分のクラスの中で定義すれば、キーが離されたときに自動的に呼び出されます。


例:public void keyReleased( int keyCode ) {
   if ( keyCode ==66 ) { turtle.back( 2 ); } // Bキーの場合
  }

int getMouseX( ) 現在のマウスのX座標を得ます。


例:if ( getMouseX( ) < 100 ) { turtle.forward( 10 ); }

int getMouseY( ) 現在のマウスのY座標を得ます。


例:int y = getMouseY( );
if ( y > 100 && y < 200 ) { turtle.rotate( 90 ); }

boolean isMouseDown( ) マウスが現在押されているかどうか(押されている=true,押されていない=false)を得ます。


例:while ( isMouseDown( ) ) { turtle.rotate( 2 ); }

boolean isDoubleClick( ) マウスがダブルクリックされたかどうか(されている=true,されていない=false)を得ます。


例:if ( isDoubleClick( ) ) { printLine( "Double Clicked" ); }

public void mousePressed( int x, int y ) { } このメソッドを自分のクラスの中で定義すれば、マウスボタンが押されたときに自動的に呼び出されます。 xとyには、押された座標が自動的に代入されています。


例:public void mousePressed( int x, int y ) {
   printLine( "Mouse Pressed at " + x + ":" + y );
  }

public void mouseReleased( int x, int y ) { } このメソッドを自分のクラスの中で定義すれば、マウスボタンが離されたときに自動的に呼び出されます。


例:public void mouseReleased( int x, int y ) {
   if ( x < 0 || x > 400 ) { turtle.setLocation( 200, 200 ); }
  }

★時間や日付などの取得
書式意味と使用例

java.util.Calendar getCalendar( ) 現在の日付・時刻に関して情報を持つCalendarクラスのオブジェクトを返します。


例:java.util.Calendar justNow = getCalendar( );

int getYear( ) 現在の日付に関して西暦を示す4桁の整数を返します。


例:int year;
year = getYear( );

int getMonth( ) 現在の日付に関して月を示す整数(1〜12)を返します。


例:int month = getMonth( );

int getDay( ) 現在の日付に関して月の中の日を示す整数(1〜31)を返します。


例:int week = getDay( ) / 7;

int getWeekDay( ) 現在の日付に関して週の中の曜日を示す整数(0〜6)を返します。
日曜=0,月曜=1,火曜=2,水曜=3,木曜=4,金曜=5,土曜=6

例:if ( getWeekDay( ) == 0 ) { turtle.setPenColor( Red ); }

int getHour( ) 現在の時間を示す整数(0〜24)を返します。


例:int zone = getHour( ) / 6;

int getMinute( ) 現在の分を示す整数(0〜59)を返します。


例:int minute = getMinute( );

int getSecond( ) 現在の秒を示す整数(0〜59)を返します。


例:int second = getSecond( );
  sleep( 60 - second );

long getMilliSecond( ) 1970年1月1日0時0分0秒からのミリセカンド(1/1000秒)を返します。


例:long moment1 = getMilliSecond( ); sleep( 3 );
  long moment2 = getMilliSecond( );
  printLine( "Time Difference:" + (moment2-moment1)/1000 + " seconds");

String getDateString( ) 現在の日付と時間を表す標準的な表示文字列を返します。


例:printLine( getDateString( ) );

★ウィンドウの位置や大きさ
書式意味と使用例

int getX( ) ウィンドウの画面上での左上端の点のX座標を得ます。

例:int windowx = getX( );

int getY( ) ウィンドウの画面上での左上端の点のY座標を得ます。

例:int windowy = getY( );

void setX( int x ) ウィンドウの画面上での左上端の点のX座標を変更し、ウィンドウを横に動かします。

例:setX( 100 );

void setY( int y ) ウィンドウの画面上での左上端の点のY座標を変更し、ウィンドウを縦に動かします。

例:setY( 100 );

int getWidth( ) ウィンドウの画面の幅を得ます。

例:int width= getWidth( );

int getHeight( ) ウィンドウの画面の高さを得ます。

例:int height= getHeight( );

void setWidth( int width ) ウィンドウの画面の幅を指定した幅に変更します。

例:setWidth( getWidth( ) * 2 ); // 元の2倍の大きさに幅を変更します

void setHeight( int height ) ウィンドウの画面の高さを指定した高さに変更します。

例:setHeight( 600 + 16 );

void setSize( int width, int height ) ウィンドウの画面を指定した幅と高さに変更します。

例:setSize( 600, 400 );

java.awt.Color getBackgroundColor( ) TurtleFrameクラスのオブジェクトに用意されている描画用のCanvasクラスの背景色、すなわち ウィンドウのキャンバスの背景色を得ます。初期設定の背景色は白(White)になっています。

例:java.awt.Color background = getBackgroundColor( );

void setBackgroundColor( java.awt.Color color ) ウィンドウのキャンバスの背景色を設定します(初期設定はWhite)。

例:setBackgroundColor( new java.awt.Color( 250, 240, 245 ) );

★その他
書式意味と使用例

void sleep( double second ) 指定された秒数、プログラムを止めます。

例:sleep( 0.01 ); // 0.01秒待ちます。

java.applet.AudioClip getAudioClip( String filename ) 指定された音声ファイルを読み込みます。音声ファイルは、WAV形式、AU形式、MIDI形式、MP3形式などの 音声ファイルを読み込むことができます。読み込んだAudioClipは、play( )で1回演奏、loop( )で繰返し演奏、 stop( )で演奏を止めることができます。

例:java.applet.AudioClip sound = getAudioClip( "sound.wav" ); //sound.wavが音声ファイルの名前です
sound.play( ); // 1回演奏します
sound.loop( ); // 繰返し演奏します
sound.stop( ); // 演奏を止めます

void setWaitTurtle( boolean waitSwitch ) タートル・グラフィックスでタートルの動きを待つかどうか制御します。待つ場合はtrueを、 待たない場合はfalseを指定します。なお、trueで待つ場合を指定した場合は、速度はNormalに設定されます。

例:setWaitTurtle( false ); // タートルの動きを待たないようにします。

Red Green Blue Magenta Cyan Yellow
Black White Gray
Pink Orange
色を示すjava.awt.Colorクラスの定数。

例:turtle.setTurtleColor( Red );

int NoTurtle = 0, NormalTurtle = 1,
Heart = 2, Diamond = 3, Clover = 4, Spade = 5,
Star = 6, HexaStar = 7, Polygon = 8,
RoundRect = 9, Leaf = 10;
将来の拡張に備えて定義されている定数です。

例:new ShapeTurtle( Heart, Pink ); // まだ使えません


■Turtleクラス

Turtleクラスのメソッドは、Turtleクラスのオブジェクトに対して呼び出します。ここでは、このオブジェクトを 保持する変数をturtleと仮定して、メソッドの使用例を記述していきます。

★コンストラクタ
書式意味と使用例

new Turtle( TurtleFrame t ) 指定されたタートル・フレーム(タートルを表示するウィンドウ)上にタートルを作成し、表示します。 PropertyメニューのCenter Orientedがチェックされていれば、最初の位置はウィンドウの中央ですが、それが チェックされていなければ、100, 100の座標になります。また、Color Turtlesにチェックがされていれば、 タートルの色も変わります。チェックされていなければ色は緑色(Green)です。なお、Show Turtleがチェック されていなければ、タートル自身は表示されません。

例:Turtle turtle = new Turtle( this ); // 現在のフレーム上にタートルを作成します。

★位置に関して
書式意味と使用例

double getX( ) タートルの位置(中央)のX座標を実数で返します。画面上では、整数の座標に表示されていますが、 内部では実数の詳細な座標を保持していますので、曲線や7角形などの整数値で割り切れない複雑な 図形の描画に用います。

例:double x = turtle.getX( );

int getIntegerX( ) タートルの位置(中央)のX座標を整数で返します。

例:int turtlex;
turtlex = turtle.getIntegerX( );

double getY( ) タートルの位置(中央)のY座標を実数で返します。画面上では、整数の座標に表示されていますが、 内部では実数の詳細な座標を保持していますので、曲線や7角形などの整数値で割り切れない複雑な 図形の描画に用います。

例:double y = turtle.getY( );

int getIntegerY( ) タートルの位置(中央)のY座標を整数で返します。

例:int turtley;
turtley = turtle.getIntegerY( );

void setX( double x ) タートルの位置(中央)のX座標を指定します。 なお、ペンが下がっている状態だと、現在位置から指定された位置まで軌跡が引かれます。

例:turtle.setX( 10 );

void setY( double y ) タートルの位置(中央)のY座標を指定します。 なお、ペンが下がっている状態だと、現在位置から指定された位置まで軌跡が引かれます。

例:turtle.setY( 400 );

void setLocation( double x, double y ) タートルの位置(中央)を指定します。 なお、ペンが下がっている状態だと、現在位置から指定された位置まで軌跡が引かれます。

例:turtle.setLocation( 200, 200 );

double minX( ) タートルの位置(左側)のX座標を実数で返します。タートルが一定の大きさを持つときに使います。

例:double leftx = turtle.minX( );

double maxX( ) タートルの位置(右側)のX座標を実数で返します。タートルが一定の大きさを持つときに使います。

例:double rightx = turtle.maxX( );

double minY( ) タートルの位置(上側)のY座標を実数で返します。タートルが一定の大きさを持つときに使います。

例:double topy = turtle.minY( );

double maxY( ) タートルの位置(下側)のX座標を実数で返します。タートルが一定の大きさを持つときに使います。

例:double bottomy = turtle.maxY( );

double getRotatedX( ) タートルの位置(中央)のX座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double rx = turtle.getRotatedX( );

double getRotatedY( ) タートルの位置(中央)のX座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double ry = turtle.getRotatedY( );

double getRotatedMinX( ) タートルの位置(左側)のX座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double leftx = turtle.getRotatedMinX( );

double getRotatedMaxX( ) タートルの位置(右側)のX座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double rightx = turtle.getRotatedMaxX( );

double getRotatedMinY( ) タートルの位置(上側)のY座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double topy = turtle.getRotatedMinY( );

double getRotatedMaxY( ) タートルの位置(下側)のX座標を実数で返します。 タートルが一定の大きさを持ち、かつ回転している(90度で割り切れないような回転度)ときに使います。

例:double bottomy = turtle.getRotatedMaxY( );

double getBalanceX( ) タートルの回転中央位置のX座標を実数で返します。 タートルが一定の大きさを持ち、中央で回転させないときに、その座標を得るのに使います。

例:double balancex = turtle.getBalanceX( );

int getIntegerBalanceX( ) タートルの回転中央位置のX座標を整数で返します。 タートルが一定の大きさを持ち、中央で回転させないときに、その座標を得るのに使います。

例:int bx = turtle.getIntegerBalanceX( );

double getBalanceY( ) タートルの回転中央位置のX座標を実数で返します。 タートルが一定の大きさを持ち、中央で回転させないときに、その座標を得るのに使います。

例:double balancey = turtle.getBalanceY( );

int getIntegerBalanceY( ) タートルの回転中央位置のY座標を整数で返します。 タートルが一定の大きさを持ち、中央で回転させないときに、その座標を得るのに使います。

例:int by = turtle.getIntegerBalanceY( );

void setBalance( double percentX, double percentY ) タートルの回転中央位置のパーセンテージ(0〜100)で指定してずらします。 タートルが一定の大きさを持ち、中央で回転させないとき、これでその位置を指定します。

例:setBalance( 0, 50 ); // タートル左側で、上下で中央の位置を回転の中心とします。

★回転に関して
書式意味と使用例

double getAngle( ) タートルの回転度を360度体系で返します。12時方向が0度で、時計回りになっています。

例:double angle = turtle.getAngle( );

double getTheta( ) タートルの回転度をラジアン(Radian)体系で返します。12時方向が0度で、時計回りになっています。

例:double theta = turtle.getTheta( );

void setAngle( double angle ) タートルの回転度を360度体系で指定します。12時方向が0度で、時計回りになっています。

例:turtle.setAngle( 60 );

void setTheta( double theta ) タートルの回転度をラジアン(Radian)体系で指定します。12時方向が0度で、時計回りになっています。

例:turtle.setTheta( Math.PI / 4.0 ); // 45度

double getDirection( ) タートルの移動方向を360度体系で返します。12時方向が0度で、時計回りになっています。 横を向いた画像のように、移動方向と回転度が異なるときに有効です。

例:double direction = turtle.getDirection( );

void setDirection( double direction ) タートルの移動方向を360度体系で設定します。12時方向が0度で、時計回りになっています。 横を向いた画像のように、移動方向と回転度が異なるときに設定する必要があります。

例:turtle.setDirection( -90 ); // 左向きの画像の場合

void rotateDirection( double addeddirection ) タートルの移動方向を360度体系で設定しますが、現在の移動方向に指定した角度が足されます。 横を向いた画像のように、移動方向と回転度が異なるときに設定する必要があります。

例:turtle.rotateDirection( 90 ); // 現在移動方向が上に設定されており、右向きの画像の場合

★サイズに関して
書式意味と使用例

double getWidth( ) 一定の大きさを持つタートルについて、その幅を返します。

例:double width = turtle.getWidth( );

double getHeight( ) 一定の大きさを持つタートルについて、その高さを返します。

例:double height = turtle.getHeight( );

double getRotatedWidth( ) 一定の大きさを持つタートルについて、回転しているときに、ウィンドウ上での水平方向の幅を返します。

例:double rwidth = turtle.getRotatedWidth( );

double getRotatedHeight( ) 一定の大きさを持つタートルについて、回転しているときに、ウィンドウ上での垂直方向の高さを返します。

例:double rheight = turtle.getRotatedHeight( );

void setWidth( double width ) 一定の大きさを持つタートルについて、その幅を指定します。タートルは指定に基づいて、拡縮されます。

例:turtle.setWidth( turtle.getWidth( ) / 2.0 ); // 半分の幅になります

void setHeight( double height ) 一定の大きさを持つタートルについて、その高さを指定します。タートルは指定に基づいて、拡縮されます。

例:turtle.setHeght( turtle.getHeight( ) * 2 ); // 2倍の高さになります

void setSize( double width, double height ) 一定の大きさを持つタートルについて、その幅と高さを指定します。タートルは指定に基づいて、拡縮されます。

例:turtle.setSize( 100, 100 );

double getScaleX( ) 一定の大きさを持つタートルについて、(タートルのローカル座標での)横方向の拡大縮小率を返します。 1.0は、元の大きさです。

例:double scalex = turtle.getScaleX( );

double getScaleY( ) 一定の大きさを持つタートルについて、(タートルのローカル座標での)縦方向の拡大縮小率を返します。 1.0は、元の大きさです。

例:double scaley = turtle.getScaleY( );

void setScale( double scale ) 一定の大きさを持つタートルについて、現在の大きさに基づき、拡大縮小率を指定します。 1.0は、元の大きさです。マイナスの値は使えません。 このメソッドでは、(タートルのローカル座標での)横方向と縦方向の拡大縮小率は同じになります。 タートルは自動的に拡大・縮小されます。

例:turtle.setScale( 5.0 ); // 現在の大きさの5倍の大きさになります。

void setScale( double scalex, double scaley ) 一定の大きさを持つタートルについて、現在の大きさに基づき、拡大縮小率を指定します。 1.0は、元の大きさです。マイナスの値は使えません。 このメソッドでは、(タートルのローカル座標での)横方向と縦方向の拡大縮小率を別々に指定できます。 タートルは自動的に拡大・縮小されます。

例:turtle.setScale( 0.5, 0.8 ); // 現在の大きさから、横は半分に、縦は80%になります

void resetScale( ) 一定の大きさを持つタートルについて、拡大縮小率を1.0に戻します。 タートルは自動的に拡大・縮小されます。

例:turtle.resetScale( ); // 元の大きさに戻ります

void resetScale( double scale ) 一定の大きさを持つタートルについて、元の大きさに基づいて拡大縮小率を指定します。 このメソッドでは、(タートルのローカル座標での)横方向と縦方向の拡大縮小率は同じになります。 タートルは自動的に拡大・縮小されます。

例:turtle.resetScale( 3.0 ); // 元の大きさの3倍になります

★アニメーションを伴う移動・回転・拡縮

directionについては、回転についてのgetDirection( )の項などを参照して下さい。

書式意味と使用例

void forward( double length ) 現在設定されている角度に向かって、指定された距離だけ移動します。 移動にはSpeedメニューで設定されている速度で移動します。 また、directionが設定されている場合は、その角度も足された方向に移動します。

例:turtle.forward( 100 );

void back( double length ) 現在設定されている角度の反対方向に、指定された距離だけ後ずさりします。 移動にはSpeedメニューで設定されている速度で後ずさりします。 また、directionが設定されている場合は、その角度も足された方向に後ずさりします。

例:turtle.back( 100 );

void right( double length ) 現在設定されている角度から見て右方向に、指定された距離だけ横歩きします。 移動にはSpeedメニューで設定されている速度で横歩きします。 また、directionが設定されている場合は、その角度も足された方向に横歩きします。

例:turtle.right( 20.3 );

void left( double length ) 現在設定されている角度の見て左方向に、指定された距離だけ横歩きします。 移動にはSpeedメニューで設定されている速度で横歩きします。 また、directionが設定されている場合は、その角度も足された方向に横歩きします。

例:turtle.left( 8.5 );

void move( double length, double directionAngle ) 現在設定されている角度から、directionAngleで指定された角度方向に、指定された距離だけ移動します。 directionAngleは、360度体系で指定します。 移動にはSpeedメニューで設定されている速度で移動します。 また、directionが設定されている場合は、その角度も足された方向に移動します。

例:turtle.move( 100, 45 ); // 45度方向に100移動します。

void translate( double tx, double ty ) 現在設定されている角度の見て前方向にtx、横方向にty離れた場所に、移動します。 移動にはSpeedメニューで設定されている速度で移動します。 また、directionが設定されている場合は、その角度も足された方向に移動します。

例:turtle.translate( 8.5, 3.4 );

void moveTo( double x, double y ) x座標がx、y座標がyの地点を目指して、回転した後、直線的に移動します。 移動にはSpeedメニューで設定されている速度で移動します。

例:turtle.moveTo( mouseX( ), mouseY( ) ); // マウスポインタのある座標に向かいます。

void rotate( double angle ) 現在設定されている角度から、指定された角度分、回転します。angleは、360度体系で指定します。 回転にはSpeedメニューで設定されている速度で回転します。 また、directionが設定されている場合は、directionも角度分回転します。

例:turtle.rotate( 270 ); // turtle.rotate( -90 );の方が早く目的の角度に辿り着きます。

void rescale( double scale ) 現在設定されているサイズから、指定された拡大縮小率でサイズを変更します。 このメソッドでは、(タートルのローカル座標での)横方向と縦方向の拡大縮小率は同じになります。 サイズの変更には、若干時間が掛かります。

例:turtle.rescale( 0.5 ); // 半分の大きさになります

void rescale( double scaleX, double scaleY ) 現在設定されているサイズから、指定された拡大縮小率でサイズを変更します。 このメソッドでは、(タートルのローカル座標での)横方向と縦方向の拡大縮小率を別々に指定できます。 サイズの変更には、若干時間が掛かります。

例:turtle.rescale( 0.5, 2.0 ); // 横方向には半分、縦方向には2倍の縮小・拡大が行なわれます

void resize( double width, double height ) 現在設定されている幅と高さから、指定された幅と高さに変更します。 幅と高さの変更には、若干時間が掛かります。

例:turtle.resize( 200, 200 );

large, wide, tall, small, little, narrowもあります。


★属性に関して
書式意味と使用例

boolean isPenDown( ) タートルのペンが降りているか(true)、上がっているか(false)を返します。

例:if ( turtle.isPenDown( ) ) { turtle.penup( ); }

void penup( ) タートルのペンを上げます。ペンを上げている間の移動は軌跡に残りません。

例:turtle.penup( );

void pendown( ) タートルのペンを下げます。ペンを下げている間の移動は軌跡に残ります。 作成時はタートルのペンは下がっています。

例:turtle.pendown( );

void clearLocus( ) タートルの軌跡をすべて消去します。

例:turtle.clearLocus( );

void setPenColor( java.awt.Color color ) タートルの軌跡の色を変えます。 作成時は黒色(Black)が指定されています。

例:turtle.setPenColor( Pink );

java.awt.Color getPenColor( ) タートルの軌跡の色を得ます。 作成時は黒色(Black)が指定されています。

例:if ( turtle.getPenColor( ) == Black ) { turtle.setPenColor( Orange ); }

void setTurtleColor( java.awt.Color color ) タートルの色を変えます。 作成時はPropertyメニューのColor Turtlesにチェックが入っていなければ、緑色(Black)が指定されています。

例:turtle.setTurtleColor( Red );

java.awt.Color getTurlteColor( ) タートルの色を得ます。 作成時はPropertyメニューのColor Turtlesにチェックが入っていなければ、緑色(Black)が指定されています。

例:if ( turtle.getTurtleColor( ) == Green ) { turtle.setTurtleColor( Orange ); }

void show( ) タートルを軌跡と共に現出させます。 作成時は軌跡と共に表示されています。

例:if ( ! turtle.isVisible( ) ) { turtle.show( ); }

void hide( ) タートルを軌跡と共に隠します。 作成時は軌跡と共に表示されています。

例:if ( turtle.isVisible( ) ) { turtle.hide( ); }

void setVisible( boolean visible ) タートルを軌跡と共に表示するか(true)、隠すか(false)指定します。 作成時は軌跡と共に表示されています。

例:turtle.setVisible( ! turtle.isVisible( ) ); // 反対の状態にします

boolean isVisible( ) タートルを軌跡と共に表示されている(true)か、隠されている(false)かを返します。 作成時は軌跡と共に表示されています。

例:if ( turtle.isVisible( ) == false ) { turtle.setVisible( true ); } // 表示される状態にします

void showTurtle( ) タートルを現出させます。 作成時は軌跡と共に表示されています。

例:if ( ! turtle.isTurtleVisible( ) ) { turtle.showTurtle( ); }

void hideTurtle( ) タートルを隠します。 作成時は軌跡と共に表示されています。

例:if ( turtle.isTurtleVisible( ) ) { turtle.hideTurtle( ); }

void setTurtleVisible( boolean visible ) タートルを表示するか(true)、隠すか(false)指定します。 作成時は軌跡と共に表示されています。

例:turtle.setTurtleVisible( true ); // showTurtle( )と同じです

boolean isTurtleVisible( ) タートルが表示されている(true)か、隠されている(false)かを返します。 作成時は軌跡と共に表示されています。

例:if ( turtle.isTurtleVisible( ) ) { turtle.hideTurtle( ); } // タートルだけ隠す状態にします


★衝突判定

他のタートルと当たっているか、指定された座標がタートルの中にあるか判定します。

書式意味と使用例

boolean intersects( Turtle another ) 指定されたタートルとこのタートルが触れているか(true)、いないか(false)を返します。 両方のタートルが見えている必要があります。

例:if ( turtle.intersects( anotherTurtle ) ) { turtle.rotate( 180 ); }

boolean contains( int x, int y ) 指定された座標が、このタートルの内部なのか(true)、外部なのか(false)を返します。 タートルが見えている必要があります。

例:if ( turtle.contains( mouseX( ), mouseY( ) ) ) { turtle.setTurtleColor( Red ); }
else { turtle.setTurtleColor( Green );


■ImageTurtleクラス

Turtleクラスのコンストラクタを除くすべてのメソッドを利用することができます。 ここでは、それ以外の部分についてのみ書かれています。

★コンストラクタ
書式意味と使用例

new ImageTurtle( String filename, TurtleFrame container ) 指定されたファイルから画像を読み込み、それをタートルとしてcontainerで指定されたウィンドウ上に 配置します。読み込める画像は、PNG形式、JPEG形式、GIF形式の画像です。PNG形式、GIF形式の画像は 描かれていない部分を透明にすることができますので、背景画の前で何かの画像をタートルとして動かすときに 便利です。

例:ImageTurtle bturtle = new ImageTurtle( "background.jpg", this );
  ImageTurtle iturtle = new ImageTurtle( "airplane.png", this );

★その他のメソッド
書式意味と使用例

java.awt.image.BufferedImage getImage( ); タートルを構成している画像を返します。拡大・縮小、回転などはTurtleクラスのメソッドを使えば可能ですから、 あまり使うことはないでしょう。

例:java.awt.image.BufferedImage imageData = iturtle.getImage( );

boolean isShowImageBounds( ); 画像タートルの境界線を描画しているかどうか(描画している=true、していない=false)を返します。

例:if ( bturtle.isShowImageBounds( ) ) { bturtle.setShowImageBounds( false ); }

void setShowImageBounds( boolean show ); 画像タートルの境界線を描画するかどうか(描画する=true、しない=false)を指定します。 境界線は軌跡の色で描画されます。

例:if ( ! bturtle.isShowImageBounds( ) ) { bturtle.setShowImageBounds( true ); }


■TextTurtleクラス

Turtle、ImageTurtleクラスのコンストラクタを除くすべてのメソッドを利用することができます。 ここでは、それ以外の部分についてのみ書かれています。テキストはすべてラスタ画像として生成されます。

★コンストラクタ
書式意味と使用例

new TextTurtle( TurtleFrame container ) "Text Turtle"という文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( this );

new TextTurtle( String text, TurtleFrame container ) 指定された文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( "Hello Turtle Graphics", this );

new TextTurtle( boolean value, TurtleFrame container ) 指定された論理値を変換した文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( true, this );

new TextTurtle( int value, TurtleFrame container ) 指定された整数を変換した文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( 25 * 7, this );

new TextTurtle( long value, TurtleFrame container ) 指定された長整数を変換した文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( 893292372L, this );

new TextTurtle( double value, TurtleFrame container ) 指定された実数を変換した文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( 45.293E-4, this );
new TextTurtle( String text, int size TurtleFrame container ) 指定されたサイズで文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( "Hello", 18, this );

new TextTurtle( String text, Color color, int size TurtleFrame container ) 指定された色とサイズで文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( "Hello", Black, 18, this );

new TextTurtle( String text, String fontname, int size TurtleFrame container ) 指定されたフォントサイズで文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( "Hello", "Serif", 18, this );

new TextTurtle( String text, Color color, String fontname, int size TurtleFrame container ) 指定された色とフォントとサイズで文字列から構成されるタートルを作ります。

例:TextTurtle turtle = new TextTurtle( "Hello", Blue, "Serif", 18, this );

★その他のメソッド
書式意味と使用例

String getText( ) タートルに指定されている文字列を返します。

例:String turtleText = turtle.getText( );

void setText( String text ) 指定された文字列でタートルを作り直します。

例:turtle.setText( "Hello Macintosh" );

void setText( boolean value ) 指定された論理値を変換した文字列でタートルを作り直します。

例:turtle.setText( false );

void setText( int value ) 指定された整数を変換した文字列でタートルを作り直します。

例:turtle.setText( 25 * 7 );

void setText( long value ) 指定された長整数を変換した文字列でタートルを作り直します。

例:turtle.setText( 893292372L );

void setText( double value ) 指定された実数を変換した文字列でタートルを作り直します。

例:turtle.setText( 45.293E-4 );

String getTypeface( ) タートルの文字列描画に指定されているフォントの文字列を返します(標準は"Dialog"フォントです)。

例:String turtleFontName = turtle.getTypeface( );

void setTypeface( String fontname ) 指定されたフォントでタートルを作り直します。

例:turtle.setTypeface( "Lucida Grande" );

int getFontSize( ) タートルの文字列描画に指定されているフォントのサイズを返します(標準は32ptです)。

例:int turtleFontSize = turtle.getFontSize( );

void setFontSize( int fontsize ) 指定されたフォントのサイズでタートルを作り直します。

例:turtle.setFontSize( 48 );