言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

WWWForm

Namespace: UnityEngine

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

WWWクラスを使用してWebサーバーにデータをPOSTするフォームを生成するヘルパークラスです。

// Grab a screen shot and upload it to a CGI script.
// The CGI script must be able to hande form uploads.

var screenShotURL= "http://www.my-server.com/cgi-bin/screenshot.pl";

// Take a screen shot immediately
function Start() {
    UploadPNG();
}

function UploadPNG() {
    // We should only read the screen after all rendering is complete
    yield WaitForEndOfFrame();

    // Create a texture the size of the screen, RGB24 format
    var width = Screen.width;
    var height = Screen.height;
    var tex = new Texture2D( width, height, TextureFormat.RGB24, false );
    // Read screen contents into the texture
    tex.ReadPixels( Rect(0, 0, width, height), 0, 0 );
    tex.Apply();

    // Encode texture into PNG
    var bytes = tex.EncodeToPNG();
    Destroy( tex );

    // Create a Web Form
    var form = new WWWForm();
    form.AddField("frameCount", Time.frameCount.ToString());
    form.AddBinaryData("fileUpload", bytes, "screenShot.png", "image/png");

    // Upload to a cgi script
    var w = WWW(screenShotURL, form);
    yield w;
    if (!String.IsNullOrEmpty(w.error))
        print(w.error);
    else
        print("Finished Uploading Screenshot");
}

以下はSQLデータベースのテーブルに保存されたハイスコアを取得するための サンプルスクリプトです。

// This example assumes that the user has entered his name into a
// variable called name and that score contains the user's current
// score.

var highscore_url = "http://www.my-site.com/highscores.pl";
var playName = "Player 1";
var score = -1;

function Start() {
	// Create a form object for sending high score data to the server
	var form = new WWWForm();
	// Assuming the perl script manages high scores for different games
	form.AddField( "game", "MyGameName" );
	 // The name of the player submitting the scores
	form.AddField( "playerName", playName );
	 // The score
	form.AddField( "score", score );

	// Create a download object
	var download = new WWW( highscore_url, form );

	// Wait until the download is done
	yield download;

	if(download.error) {
		print( "Error downloading: " + download.error );
		return;
	} else {
		// show the highscores
		Debug.Log(download.text);
	}
}

以下はSQLデータベースのテーブルに保存されたハイスコアを処理するPerlの サンプルスクリプトです。

#!/usr/bin/perl
# The SQL database needs to have a table called highscores
# that looks something like this:
#
#   CREATE TABLE highscores (
#     game varchar(255) NOT NULL,
#     player varchar(255) NOT NULL,
#     score integer NOT NULL
#   );
#
use strict;
use CGI;
use DBI;

# Read form data etc.
my $cgi = new CGI;

# The results from the high score script will be in plain text
print $cgi->header("text/plain");

my $game = $cgi->param('game');
my $playerName = $cgi->param('playerName');
my $score = $cgi->param('score');

exit 0 unless $game; # This parameter is required

# Connect to a database
my $dbh = DBI->connect( 'DBI:mysql:databasename', 'username', 'password' )
	|| die "Could not connect to database: $DBI::errstr";

# Insert the player score if there are any
if( $playerName && $score) {
	$dbh->do( "insert into highscores (game, player, score) values(?,?,?)",
		undef, $game, $playerName, $score );
}

# Fetch the high scores
my $sth = $dbh->prepare(
	'SELECT player, score FROM highscores WHERE game=? ORDER BY score desc LIMIT 10' );
$sth->execute($game);
while (my $r = $sth->fetchrow_arrayref) {
	print join(':',@$r),"\n"
}

Variables

data フォームを送信する時にPOSTのリクエストボディに渡す生のデータ (Read Only)
headers WWWクラスを使用してフォームをPOSTするための正しいリクエストヘッダーを返します (Read Only)

Constructors

WWWForm 空のWWWFormオブジェクトを作成します

Functions

AddBinaryData フォームにバイナリデータを追加します
AddField フォームにシンプルなフィールドを追加します