Message in a Bottle (日本語)

Message in a Bottle について

これは LOVE 0.7.0 用のメッセージ管理ライブラリです。それは控えめで使用は簡単であることを目標としています。

MessageInABottle.png

ダウンロード

コードまたはサンプルの .love ファイルは bitbucket からダウンロードできます。

このライブラリには MiddleClass が必要です。それは同梱されています。

連絡先

公開質問はフォーラムの投稿を参照してください。不具合は Issue Tracker へ報告してください。さらに何か質問または関心があれば TechnoCat も参照してください。

もしプロジェクトにて、これが使用されているか私へ報告していただけると最高です。私は、これがなにに使用されているか確かめることを好みます。

特徴

  • StayBottle は、ボタンが押されるまで滞在するボトルです。
  • TimedBottle は、ボタンが押されるか指定時間経過まで滞在するボトルです。
  • Ocean, は、ボトルに対してオブジェクトを管理します。
  • 完全 (思いのままに) 構成可能なボトル。
  • 滑らかで洗練された標準のボトル。

存在しない機能

まだ未実装ですが、計画にあるものとして。

  • ブーリアンのボトル
  • ボトルの選択。

構成方法

ほとんどの場合の構成方法については対象へ MessageInABottle.lua を先頭へ配置します。

使用方法

Ocean の設定方法

require 'MessageInABottle.lua'

function love.load()
  ocean = Ocean:new()
end

function love.update(dt)
  ocean:update(dt)
end

function love.draw()
  ocean:draw()
end

用例

require 'MessageInABottle.lua'

function love.load()
  love.graphics.setBackgroundColor(255,255,255)
  
  -- ボトルを管理するために Ocean を初期化します。
  -- それはボトルのキューとしての振る舞いをします。
  ocean = Ocean:new()
  
  -- 時間制限付きボトルを作成して Ocean へ追加します。
  ocean:addBottle(TimeBottle:new(nil,"...",nil))
  
  -- 滞在ボトルを作成して Ocean へ追加します。
  local bottle = StayBottle:new(nil,"What is this?")
  -- 非標準のものへボトルの設定をいくつか変更します。
  bottle:setX(310)
  bottle:setVolume(0)
  ocean:addBottle(bottle)
end

function love.update(dt)
  -- ボトルの更新を要求します。
  ocean:update(dt)
end

function love.draw()
  love.graphics.setColor(0,0,0)
  -- これはいくつか有用な Ocean 変数の格納を示しています。
  love.graphics.print(
      'last bottle return was: '..ocean.response..
      ' at '..(math.floor(ocean.responseTime*10)/10)..
      's from '..ocean.responseID,12,12)
  -- これは現在のボトルを描画するために必要なものの全てです。
  ocean:draw()
end

function love.keypressed(k,u)
  -- 操縦してボトルを追加することができます。
  if k=="d" then
    local x = math.floor(math.random(400))
    local y = math.floor(math.random(150))
    ocean:addBottle(TimeBottle:new("PRESSED_D","Timed Box!"))
  elseif k=="escape" then
    love.event.push("q")
  end
end

コンストラクタ

Ocean

Ocean:new()

MessageBottle

これは使用しないでください。それは全てのボトルの親クラスです。

MessageBottle:new(id, text)
string id
ボトルの固有識別子。例えば "Open Door"
string text
ボトルに表示するテキスト。例えば、 "扉を開けますか?"

StayBottle

StayBottle:new(id, text)
string id
ボトルの固有識別子。例えば "Open Door"
string text
ボトルに表示するテキスト。例えば、 "扉を開けますか?"

TimeBottle

TimeBottle:new(id, text, timeout)
string id
ボトルの固有識別子。例えば "Open Door"
string text
ボトルに表示するテキスト。例えば、 "扉を開けますか?"
number timeout
ボトルの表示時間の量。

セッター関数

Timeout

TimeBottle:setTimeout(timeout)
number timeout
TimeBottle に対する残り時間。

setX

MessageBottle:setX(x)
number x
ボトルの x 位置。

setY

MessageBottle:setY(y)
number y
ボトルの y 位置。

setPosition

MessageBottle:setPosition(x, y)
number x
ボトルの x 位置。
number y
ボトルの y 位置。

setWidth

MessageBottle:setWidth(width)
number width
ボトルの幅。

setHeight

MessageBottle:setHeight(height)
number height
ボトルの高さ。

setButton

MessageBottle:setButton(button)
KeyConstant button
ボトルで使用するボタン。

setEase

MessageBottle:setEase(ease)
function ease
イーズ・インにて使用するイーズ関数。

setEaseTime

MessageBottle:setEaseTime(easeTime)
number easeTime
イーズ・インにかかる時間。

setFade

MessageBottle:setFade(fade)
function fade
フェード・インにて使用するフェード関数。

setFadeTime

MessageBottle:setFadeTime(fadeTime)
number fadeTime
フェード・インにかかる時間。

setEnterCallback

MessageBottle:setEnterCallback(enterCB)
function enterCB
ボトルを開けた時に呼ばれるコールバック関数。

setExitCallback

MessageBottle:setEnterCallback(exitCB)
function exitCB
ボトルを空けた時に呼ばれるコールバック関数。ボトルの返値は exitCallback へ渡されます。

setSound

MessageBottle:setSound(sound)
string sound
音声ファイルの記憶場所。

setVolume

MessageBottle:setVolume(volume)
number volume
音声の音量。通常音量は 1.0 です。

setIndicator

MessageBottle:setIndicator(indicator)
string indicator
指示器用画像ファイルの記憶場所。指示器とは特定のボトルの上で弾み運動をするアイコンのことです。

setFgColor

MessageBottle:setFgColor(r, g, b, a)
number r
0 から 255 までの赤色値。
number g
0 から 255 までの緑色値。
number b
0 から 255 までの青色値。
number a
0 から 255 までの透過色値。

setFont

MessageBottle:setFont(font, size)
string font
フォント・ファイルの記憶場所。
number size
点の大きさの値。

setAlign

MessageBottle:setAlign(align)
AlignMode align
整列方式。

setBgColor

MessageBottle:setFgColor(r, g, b, a)
number r
0 から 255 までの赤色値。
number g
0 から 255 までの緑色値。
number b
0 から 255 までの青色値。
number a
0 から 255 までの透過色値。

setBgRadius

MessageBottle:setBgRadius(r)
number r
角の半径。

setBgRadiusSegments

MessageBottle:setBgRadiusSegments(n)
number n
各角の描画に対する線分の数。

そのほかの言語