Compare commits

..

44 Commits

Author SHA1 Message Date
Tom Rothamel 3368cfe3ab Document incompatible changes, add fix to changelog. 2018-04-21 23:26:48 -04:00
Tom Rothamel 3ff9f2d135 Update the changelog. 2018-04-21 22:34:16 -04:00
Tom Rothamel b5306f1065 Update sponsor documentation. 2018-04-21 11:24:12 -04:00
Tom Rothamel 4396d146e2 id: The director should not hide TIMEEVENTS.
Fixes #1432, and the director blocking the notify window from hiding itself.
2018-04-21 08:54:59 -04:00
Tom Rothamel be5f03e7b5 li: Documentation. 2018-04-20 23:51:26 -04:00
Tom Rothamel 647459ef70 li: More documentation. 2018-04-20 23:27:34 -04:00
Tom Rothamel be57f1070d Allow groups to take if_also and if_not. 2018-04-20 22:41:47 -04:00
Tom Rothamel 17840ad937 Use come-from to implement non-greedy rollback.
This fixes a problem in the code:

  default x = False

  label start:
      $ x = True
      "[ x ]"

When accessing the console. The problem is that the changes to rollback
in 6.14 cause there to only be one Rollback here, which is right after
label start. This means that when in the console, x loses its changed
value.

To fix this, when doing a non-greedy rollback, we rollback the minimum
we can, then start executing forwards until we reach the current
statement. This was implemented by adding a "come from" feature
to the context - when a statement is started, the current come
from is checked, and a label is called if it's been reached.
2018-04-20 00:22:50 -04:00
Tom Rothamel dfbb649dfb Fix typo. 2018-04-20 00:22:02 -04:00
Tom Rothamel 21456342c2 li: Turn auto and default into keywords.
It just reads better without True scattered all over the place,
signifying very little.
2018-04-19 23:23:30 -04:00
Tom Rothamel cf1f140ff6 li: Documentation. 2018-04-19 23:06:25 -04:00
Tom Rothamel 9a74b97bbe li: Parse properties on the first line of a group. 2018-04-19 23:03:37 -04:00
Tom Rothamel fd47a942fe Rename to LayeredImage/layeredimage. 2018-04-19 02:23:51 -04:00
Tom Rothamel e22256d631 li: Document layered images.
Which is the final name, at least for the moment.
2018-04-19 02:20:22 -04:00
Tom Rothamel 16782c5847 Fix the SetField documentation. 2018-04-19 02:18:43 -04:00
Tom Rothamel 43e6b37d43 id: Filter prefixed tags.
Layer images tend to use displayables with names like eileen_mouth_smile,
which have the real image name, eileen, as a prefix. We don't want these
cluttering up the id, so filter tags like this out.
2018-04-19 00:11:27 -04:00
Tom Rothamel 0e6a32cbf2 li: Move to the layerimage namespace.
There are a few twiddleable settings here, so they should be in a
public namespace.
2018-04-18 23:44:08 -04:00
Tom Rothamel 0c0bde2315 li: Same change, for the image name. 2018-04-18 23:37:52 -04:00
Tom Rothamel 70e7c38e7e li: Change the pattern for auto-attribute-image names.
We've gone from "eileen mouth happy" to "eileen_mouth_happy". This
is to prevent potential problems - with the spaces, it's possible
for the images that are used in a LayerImage to conflict with
the image itself, causing huge problems.

When there is an underscore in the name, that's mitigated.
2018-04-18 23:33:53 -04:00
Tom Rothamel 2d9c11430f Report an error if an image refers to itself. 2018-04-18 22:54:47 -04:00
Tom Rothamel 14f84a9329 ai(li): rename AttributeImage to LayerImage. 2018-04-18 01:17:55 -04:00
Tom Rothamel d9cdb6e8e1 Expose Composite, Crop, Tile.
Fixes #1433.
Fixes #1430.
2018-04-17 08:35:15 -04:00
Tom Rothamel 18c25fd601 ai: Allow a value for predict_all. 2018-04-17 01:42:03 -04:00
Tom Rothamel ca759eb72e ai: Add if_also and if_not.
These clauses allow attributes (or implementations of attributes) to
interact with each other.
2018-04-17 01:28:49 -04:00
Tom Rothamel 559d57f4cc id: Allow the user to move the id to the bottom of the screen. 2018-04-16 20:18:16 -04:00
Tom Rothamel 27c821c010 Fix accidental translation of the Russian director. 2018-04-16 18:51:54 -04:00
Tom Rothamel 3a064847d2 Add keywords.
* Index from sl2 for.
* Always from ai.
2018-04-16 02:22:03 -04:00
Tom Rothamel 8dc1124dbf ai: Add the always statement.
A convenient and fast way to include a displayable that must
always be there.
2018-04-16 02:17:42 -04:00
Tom Rothamel cd5d9a28ba sl2: Add an index expression to for.
This makes it possible to change which entry in the cache corresponds
to an entry in the list being iterated over, which can fix certain
problems where those don't match up.
2018-04-16 01:43:49 -04:00
Tom Rothamel 61447a9f83 ai: Report and display unknown attributes. 2018-04-15 17:52:40 -04:00
Tom Rothamel 6db5afa132 ai: Fix and improve _list_attributes.
It now has the correct API, and also handles sorting the
attributes in a sensible manner.
2018-04-15 15:22:35 -04:00
Tom Rothamel efa6d28f83 Automatic definition of attributes in groups. 2018-04-15 14:05:37 -04:00
Tom Rothamel dba7363be7 Move images to being defined at the start of init zero. 2018-04-15 13:22:23 -04:00
Tom Rothamel ef254d5a7d Land AttributeImage.
This was originally developed at https://github.com/renpy/ai .
2018-04-14 15:07:19 -04:00
Tom Rothamel ee3e9fcf30 Update changelog for Ren'Py 7.0. 2018-04-14 00:10:08 -04:00
Tom Rothamel a06262c2b3 Fix typo.
Fixes #1429.
2018-04-13 16:55:07 -04:00
Tom Rothamel 779a5472d4 Update keywords. 2018-04-13 16:53:41 -04:00
Tom Rothamel d1c16835c2 Include attributeimage keywords. 2018-04-12 22:29:42 -04:00
Tom Rothamel d68d7e205f Don't try to distribute oldtutorial or templates. 2018-04-09 08:29:55 -04:00
Tom Rothamel 0ffbe3cc0a Allow the launcher to detect the presence and absence of the old
templates and tutorial.
2018-04-08 19:27:06 -04:00
Tom Rothamel f0bfc27267 Remove the files for the old tutorial and legacy templates.
We've been on the new stuff for a year now, and I've gotten (mostly)
good feedback on everything. So it's time to shrink the distribution
by removing this legacy content.

Thanks to everyone who contributed this - your contributions will
live on in git and the Ren'Py 6 downloads.
2018-04-08 19:21:09 -04:00
Tom Rothamel 20e50a9e06 Fix translate None instead of translate russian. 2018-04-08 08:39:15 -04:00
Tom Rothamel c67f88b7f3 Update the screen before checking _handles_event, for non-transient screens.
Fixes #1426.

During skipping, a normal screen was never updated, which means
that the hide handler was not called. This changes it so we force
an update if need be, provided the screen is not transient.

Why not transient? It's because a transient screen is used for
the window in with_none, and updating that screen is expensive
for the 90% of time it isn't seen.
2018-04-08 01:28:47 -04:00
Tom Rothamel 16feb53d14 Improve duplicate translation errors. 2018-04-06 22:40:09 -04:00
321 changed files with 1839 additions and 49646 deletions
-2
View File
@@ -333,12 +333,10 @@ init python:
build.classify_renpy("gui/game/gui/", None)
source_and_binary("launcher")
source_and_binary("templates", binary=None)
source_and_binary("gui", binary=None)
source_and_binary("the_question")
source_and_binary("tutorial")
source_and_binary("oldtutorial")
# docs.
build.classify_renpy("doc/", "source")
+9 -4
View File
@@ -51,6 +51,7 @@ init python:
return rv
show_legacy = os.path.exists(os.path.join(config.renpy_base, "templates", "english", "game", "script.rpy"))
default persistent.legacy = False
default persistent.force_new_tutorial = False
@@ -184,12 +185,16 @@ screen preferences:
if renpy.windows:
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
textbutton _("Force new tutorial") style "l_checkbox" action [ ToggleField(persistent, "force_new_tutorial"), project.SelectTutorial(True) ]
if project.manager.get("oldtutorial"):
textbutton _("Legacy options") style "l_checkbox" action ToggleField(persistent, "legacy")
textbutton _("Force new tutorial") style "l_checkbox" action [ ToggleField(persistent, "force_new_tutorial"), project.SelectTutorial(True) ]
if persistent.legacy:
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
if show_legacy:
textbutton _("Legacy options") style "l_checkbox" action ToggleField(persistent, "legacy")
if persistent.legacy:
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
textbutton _("Sponsor message") style "l_checkbox" action ToggleField(persistent, "sponsor_message")
-1
View File
@@ -1 +0,0 @@
../help.html
Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.
-99
View File
@@ -1,99 +0,0 @@
# This file demonstrates how Character objects can be used to customize the
# display of text.
init:
# With a nestled click-to-continue indicator.
$ ectc = Character(_('Eileen'),
color="#c8ffc8",
ctc=anim.Blink("arrow.png"))
# With a fixed-position ctc indicator.
$ ectcf = Character(_('Eileen'),
color="#c8ffc8",
ctc=anim.Filmstrip("sakura.png", (20, 20), (2, 1), .30, xpos=760, ypos=560, xanchor=0, yanchor=0),
ctc_position="fixed")
# With quotes around text.
$ equote = Character(_('Eileen'),
color="#c8ffc8",
who_suffix = ':',
what_prefix='"',
what_suffix='"')
# Weird-looking.
$ eweird = Character(_('Eileen'),
color="#c8ffc8",
what_underline=True,
window_left_margin=200,
window_yminimum=300)
# Two-window mode.
$ etwo = Character(_('Eileen'),
color="#c8ffc8",
show_two_window=True)
# Image on the side.
$ eside = Character(_('Eileen'),
color="#c8ffc8",
window_left_padding=160,
show_side_image=Image("eileen_side.png", xalign=0.0, yalign=1.0))
label demo_character:
e "The Character object is used to declare characters, and it can also be used to customize the way in which a character speaks."
e "By supplying it with the appropriate arguments, we can really change around the feel of the game."
e "In this section, we'll demonstrate some of what can be accomplished by customizing character objects."
equote "By supplying what_prefix and what_suffix arguments to a Character object, we can automatically add things before each line of text."
equote "This is a lot easier than having to put those quotes in by hand."
equote "We can also use who_prefix and who_suffix to add text to the name of the speaker."
e "We can also supply arguments to the Character object that customize the look of the character name, the text that is being said, and the window itself."
eweird "These can really change the look of the game."
eside "A more practical use of that is in conjunction with show_side_image, which lets us position an image next to the text."
etwo "There's also show_two_window, which puts the character's name in its own window."
ectc "Finally, we demonstrate a click to continue indicator. In this example, it's nestled in with the text."
ectcf "A click to continue image can also be placed at a fixed location on the screen."
e "There's a lot more you can do with Character, as it lets you set style properties on all of the displayed text."
e "Finally, let me point out a couple of special characters we pre-define."
show black
with dissolve
centered "The \"centered\" character shows text at the center of the screen, without a window."
centered "It's just a highly customized normal character, that's useful for dates and titles."
hide black
with dissolve
e "The \"extend\" character is very special."
e "It lets you"
show eileen vhappy
extend " extend the previous dialogue"
show eileen happy
extend " with additional text."
e "That lets you have things happen in the middle of text. If you didn't notice, I was changing my expression."
e "Hopefully, these characters, along with the ones you define, will lead to a very expressive game."
return
-38
View File
@@ -1,38 +0,0 @@
# This file demonstrates how to use DynamicDisplayable to make parts of the
# display that update without there being an interaction.
init:
python:
# This function will run a countdown of the given length. It will
# be white until 5 seconds are left, and then red until 0 seconds are
# left, and then will blink 0.0 when time is up.
def countdown(st, at, length=0.0):
remaining = length - st
if remaining > 5.0:
return Text("%.1f" % remaining, color="#fff", size=72), .1
elif remaining > 0.0:
return Text("%.1f" % remaining, color="#f00", size=72), .1
else:
return anim.Blink(Text("0.0", color="#f00", size=72)), None
# Show a countdown for 10 seconds.
image countdown = DynamicDisplayable(countdown, length=10.0)
label demo_dynamic:
e "The DynamicDisplayable function lets you change what's displayed over the course of an interaction."
show countdown at Position(xalign=.1, yalign=.1)
e "This makes it possible to display things like countdown timers and progress bars."
e "Remember, people read at different speeds, so it's probably better to use this for flavor, rather then to make games time-sensitive."
hide countdown
with dissolve
return
-204
View File
@@ -1,204 +0,0 @@
# This file demonstrates the use of image operators.
init:
image logo base = "logo.png"
image logo crop = im.Crop("logo.png", 0, 0, 100, 307)
image logo scale = im.Scale("logo.png", 100, 150)
image logo factorscale = im.FactorScale("logo.png", 1.5, 1.5)
image logo composite = im.Composite((200, 407),
(0, 0), "logo.png",
(0, 50), "logo.png",
(0, 100), "logo.png")
image logo livecomposite = LiveComposite((200, 407),
(0, 0), anim.Blink(Image("logo.png")),
(0, 50), "logo.png",
(0, 100), "logo.png")
image logo green = im.Map("logo.png", rmap=im.ramp(0, 0))
image logo green2 = im.Recolor("logo.png", 0, 255, 255, 255)
image logo alpha = im.Alpha("logo.png", 0.5)
image logo blackwhite = "logobw.png"
image logo twocolor = im.Twocolor("logobw.png",
(128, 255, 255, 255),
(255, 0, 0, 255))
image eileen alpha = im.Alpha("images/eileen happy.png", 0.5)
image eileen flip = im.Flip("images/eileen happy.png", vertical=True)
image logo halfsat = im.MatrixColor("logo.png",
im.matrix.saturation(.5))
# This could be better done with im.matrix.invert(), but I want to show
# how to use a matrix.
image logo invert = im.MatrixColor("logo.png",
[ -1, 0, 0, 0, 1,
0, -1, 0, 0, 1,
0, 0, -1, 0, 1,
0, 0, 0, 1, 0, ])
image logo tintblue = im.MatrixColor("logo.png",
im.matrix.saturation(.5) * im.matrix.tint(.75, .75, 1.0))
image logo hue = im.MatrixColor("logo.png",
im.matrix.hue(90))
image logo bright = im.MatrixColor("logo.png",
im.matrix.brightness(.5))
image logo sepia = im.Sepia("logo.png")
image logo grayscale = im.Grayscale("logo.png")
$ logopos = Position(xpos=.5, xanchor=0, ypos=50, yanchor=0)
label demo_imageops:
e "Image operations allow us to manipulate images as they are loaded in."
e "They're efficient, as they are only evaluated when an image is first loaded."
e "This way, there's no extra work that needs to be done when each frame is drawn to the screen."
show eileen happy at left
with move
show logo base at logopos
with dissolve
e "Let me show you a test image, the Ren'Py logo."
e "We'll be applying some image operations to it, to see how they can be used."
show logo crop at logopos
with dissolve
e "The im.Crop operation can take the image, and chop it up into a smaller image."
show logo composite at logopos
with dissolve
e "The im.Composite operation lets us take multiple images, and draw them into a single image."
e "While you can do this by showing multiple images, this is often more efficient."
show logo livecomposite at logopos
with dissolve
e "There's also LiveComposite, which is less efficent, but allows for animation."
e "It isn't really an image operation, but we don't know where else to put it."
show logo scale at logopos
with dissolve
e "The im.Scale operation lets us scale an image to a particular size."
show logo factorscale at logopos
with dissolve
e "im.FactorScale lets us do the same thing, except to a factor of the original size."
show logo green at logopos
with dissolve
e "The im.Map operation lets us mess with the red, green, blue, and alpha channels of an image."
e "In this case, we removed all the red from the image, leaving only the blue and green channels."
show logo base at logopos
with dissolve
show logo green2 at logopos
with dissolve
e "The im.Recolor operation can do the same thing, but is more efficient when we're linearly mapping colors."
show logo blackwhite at logopos
with dissolve
e "The im.Twocolor operation lets you take a black and white image, like this one..."
show logo twocolor at logopos
with dissolve
e "... and assign colors to replace black and white."
show logo halfsat at logopos
with dissolve
e "The im.MatrixColor operation lets you use a matrix to alter the colors. With the right matrix, you can desaturate colors..."
show logo tintblue at logopos
with dissolve
e "... tint the image blue..."
show logo hue at logopos
with dissolve
e "... rotate the hue... "
show logo invert at logopos
with dissolve
e "... or invert the colors, for a kinda scary look."
show logo bright at logopos
with dissolve
e "It can even adjust brightness and contrast."
e "We've made some of the most common matrices into image operators."
show logo grayscale at logopos
with dissolve
e "im.Grayscale can make an image grayscale..."
show logo sepia at logopos
with dissolve
e "... while im.Sepia can sepia-tone an image."
show logo base at logopos
with dissolve
show logo alpha at logopos
with dissolve
e "The im.Alpha operation can adjust the alpha channel on an image, making things partially transparent."
show eileen alpha at left
with dissolve
e "It's useful if a character just happens to be ghost."
hide logo
show eileen happy at left
with dissolve
e "But that isn't the case with me."
show eileen happy
with move
show eileen flip
with dissolve
e "Finally, there's im.Flip, which can flip an image horizontally or vertically."
e "I think the less I say about this, the better."
show eileen happy
with dissolve
return
-92
View File
@@ -1,92 +0,0 @@
# Code that demonstrates layers and advanced show.
init:
# Declare a layer, 'demo', that lives just above the default 'master'
# layer.
$ config.layers.insert(1, 'demo')
# Make it so that it only takes up part of the screen.
$ config.layer_clipping['demo'] = (50, 50, 700, 500)
label demo_layers:
e "Ren'Py lets you define layers, and show images on specific layers."
hide eileen
with dissolve
show bg whitehouse onlayer demo
with dissolve
show eileen happy onlayer demo
with dissolve
e "The \"onlayer\" clause of the scene, show, and hide statements lets us pick which layers the commands affect."
e "As you can see, layers do not have to take up the entire screen. When a layer doesn't, images are clipped to the layer."
scene onlayer demo
show eileen happy
with dissolve
e "The \"as\" clause lets you change the tag of an image."
show eileen happy as eileen2
with None
show eileen happy at left
show eileen happy at right as eileen2
with move
e "This is useful when you want to show two copies of the same image."
e "Or if a character has a twin."
show eileen happy at center
show eileen happy at offscreenright as eileen2
with move
hide eileen2
show expression Text(_("This is text."), size=50, yalign=0.5, xalign=0.5, drop_shadow=(2, 2)) as text
with dissolve
e "You can use \"show expression\" to show things that aren't just images, like text."
hide text
with dissolve
show logo base at Position(xalign=0.6, yalign=0.0) behind eileen
with dissolve
e "The \"behind\" clause lets you place an image behind another."
hide logo base
show eileen happy
with dissolve
show layer master:
xalign 0.5
yalign 0.5
linear 0.75 rotate 180.0
pause 0.75
e "Finally, the \"show layer\" statement allows you to apply a transform to an entire layer."
show layer master:
xalign 0.5
yalign 0.5
rotate 180.0
linear 0.75 rotate 360.0
pause 0.75
# Cancels the layer transform.
show layer master
e "And that's it for layers and advanced show."
return
-266
View File
@@ -1,266 +0,0 @@
init:
image bg pong field = "pong_field.png"
python:
class PongDisplayable(renpy.Displayable):
def __init__(self):
renpy.Displayable.__init__(self)
# Some displayables we use.
self.paddle = Image("pong.png")
self.ball = Image("pong_ball.png")
self.player = Text(_("Player"), size=36)
self.eileen = Text(_("Eileen"), size=36)
self.ctb = Text(_("Click to Begin"), size=36)
# The sizes of some of the images.
self.PADDLE_WIDTH = 8
self.PADDLE_HEIGHT = 79
self.BALL_WIDTH = 15
self.BALL_HEIGHT = 15
self.COURT_TOP = 108
self.COURT_BOTTOM = 543
# If the ball is stuck to the paddle.
self.stuck = True
# The positions of the two paddles.
self.playery = (self.COURT_BOTTOM - self.COURT_TOP) / 2
self.computery = self.playery
# The speed of the computer.
self.computerspeed = 350.0
# The position, dental-position, and the speed of the
# ball.
self.bx = 88
self.by = self.playery
self.bdx = .5
self.bdy = .5
self.bspeed = 300.0
# The time of the past render-frame.
self.oldst = None
# The winner.
self.winner = None
def visit(self):
return [ self.paddle, self.ball, self.player, self.eileen, self.ctb ]
# Recomputes the position of the ball, handles bounces, and
# draws the screen.
def render(self, width, height, st, at):
# The Render object we'll be drawing into.
r = renpy.Render(width, height)
# Figure out the time elapsed since the previous frame.
if self.oldst is None:
self.oldst = st
dtime = st - self.oldst
self.oldst = st
# Figure out where we want to move the ball to.
speed = dtime * self.bspeed
oldbx = self.bx
if self.stuck:
self.by = self.playery
else:
self.bx += self.bdx * speed
self.by += self.bdy * speed
# Move the computer's paddle. It wants to go to self.by, but
# may be limited by it's speed limit.
cspeed = self.computerspeed * dtime
if abs(self.by - self.computery) <= cspeed:
self.computery = self.by
else:
self.computery += cspeed * (self.by - self.computery) / abs(self.by - self.computery)
# Handle bounces.
# Bounce off of top.
ball_top = self.COURT_TOP + self.BALL_HEIGHT / 2
if self.by < ball_top:
self.by = ball_top + (ball_top - self.by)
self.bdy = -self.bdy
renpy.sound.play("pong_beep.wav", channel=0)
# Bounce off bottom.
ball_bot = self.COURT_BOTTOM - self.BALL_HEIGHT / 2
if self.by > ball_bot:
self.by = ball_bot - (self.by - ball_bot)
self.bdy = -self.bdy
renpy.sound.play("pong_beep.wav", channel=0)
# This draws a paddle, and checks for bounces.
def paddle(px, py, hotside):
# Render the paddle image. We give it an 800x600 area
# to render into, knowing that images will render smaller.
# (This isn't the case with all displayables. Solid, Frame,
# and Fixed will expand to fill the space allotted.)
# We also pass in st and at.
pi = renpy.render(self.paddle, 800, 600, st, at)
# renpy.render returns a Render object, which we can
# blit to the Render we're making.
r.blit(pi, (int(px), int(py - self.PADDLE_HEIGHT / 2)))
if py - self.PADDLE_HEIGHT / 2 <= self.by <= py + self.PADDLE_HEIGHT / 2:
hit = False
if oldbx >= hotside >= self.bx:
self.bx = hotside + (hotside - self.bx)
self.bdx = -self.bdx
hit = True
elif oldbx <= hotside <= self.bx:
self.bx = hotside - (self.bx - hotside)
self.bdx = -self.bdx
hit = True
if hit:
renpy.sound.play("pong_boop.wav", channel=1)
self.bspeed *= 1.10
# Draw the two paddles.
paddle(68, self.playery, 68 + self.PADDLE_WIDTH)
paddle(724, self.computery, 724)
# Draw the ball.
ball = renpy.render(self.ball, 800, 600, st, at)
r.blit(ball, (int(self.bx - self.BALL_WIDTH / 2),
int(self.by - self.BALL_HEIGHT / 2)))
# Show the player names.
player = renpy.render(self.player, 800, 600, st, at)
r.blit(player, (20, 25))
# Show Eileen's name.
eileen = renpy.render(self.eileen, 800, 600, st, at)
ew, eh = eileen.get_size()
r.blit(eileen, (790 - ew, 25))
# Show the "Click to Begin" label.
if self.stuck:
ctb = renpy.render(self.ctb, 800, 600, st, at)
cw, ch = ctb.get_size()
r.blit(ctb, (400 - cw / 2, 30))
# Check for a winner.
if self.bx < -200:
self.winner = "eileen"
# Needed to ensure that event is called, noticing
# the winner.
renpy.timeout(0)
elif self.bx > 1000:
self.winner = "player"
renpy.timeout(0)
# Ask that we be re-rendered ASAP, so we can show the next
# frame.
renpy.redraw(self, 0)
# Return the Render object.
return r
# Handles events.
def event(self, ev, x, y, st):
import pygame
# Mousebutton down == start the game by setting stuck to
# false.
if ev.type == pygame.MOUSEBUTTONDOWN and ev.button == 1:
self.stuck = False
# Set the position of the player's paddle.
y = max(y, self.COURT_TOP)
y = min(y, self.COURT_BOTTOM)
self.playery = y
# If we have a winner, return him or her. Otherwise, ignore
# the current event.
if self.winner:
return self.winner
else:
raise renpy.IgnoreEvent()
label demo_minigame:
e "You may want to mix Ren'Py with other forms of gameplay. There are many ways to do this."
e "The first is with the UI functions, which can be used to create powerful button and menu based interfaces."
e "These are often enough for many simulation-style games."
e "We also have two more ways in which Ren'Py can be extended. Both require experience with Python programming, and so aren't for the faint of heart."
e "Renpygame is a library that allows pygame games to be run inside Ren'Py."
e "When using renpygame, Ren'Py steps out of the way and gives you total control over the user's experience."
e "You can get renpygame from the Frameworks page of the Ren'Py website."
e "If you want to integrate your code with Ren'Py, you can write a user-defined displayable."
e "User-defined displayables are somewhat more limited, but integrate better with the rest of Ren'Py."
e "For example, one could support loading and saving while a user-defined displayable is shown."
e "Now, why don't we play some pong?"
label demo_minigame_pong:
window hide None
# Put up the pong background, in the usual fashion.
scene bg pong field
# Run the pong minigame, and determine the winner.
python:
ui.add(PongDisplayable())
winner = ui.interact(suppress_overlay=True, suppress_underlay=True)
scene bg washington
show eileen vhappy
window show None
if winner == "eileen":
e "I win!"
else:
e "You won! Congratulations."
show eileen happy
menu:
e "Would you like to play again?"
"Sure.":
jump demo_minigame_pong
"No thanks.":
pass
e "Remember to be careful about putting minigames in a visual novel, since not every visual novel player wants to be good at arcade games."
return
-79
View File
@@ -1,79 +0,0 @@
# This demonstrates nvl_mode.rpy.
init:
# Declare an nvl-version of eileen.
$ nvle = Character(_("Eileen"), color="#c8ffc8", kind=nvl)
$ config.adv_nvl_transition = dissolve
$ config.nvl_adv_transition = dissolve
label demo_nvlmode:
window hide
nvl clear
nvl show dissolve
nvle "NVL-style games are games that cover the full screen with text, rather then placing it in a file at the bottom of the screen."
nvle "Ren'Py ships with a file, nvl_mode.rpy, that implements NVL-style games. You're seeing an example of NVL-mode at work."
nvl clear
nvle "To use NVL-mode, you need to define Characters with a kind=nvl."
nvle "You use 'nvl clear' to clear the screen when that becomes necessary."
nvl hide dissolve
nvl show dissolve
nvle "The 'nvl show' and 'nvl hide' statements use transitions to show and hide the NVL window."
nvle "The nvl_erase function removes a line from the screen."
$ nvl_erase()
nvle "Like that."
# Doing this during the game isn't recommended, it's better to do
# it in an init block. We have to do it here because we need to use
# both kinds of menus.
$ menu = nvl_menu
menu:
nvle "The nvl_mode also supports showing menus to the user, provided they are the last thing on the screen. Understand?"
"Yes.":
nvl clear
nvle "Good!"
nvl clear
"No.":
nvl clear
nvle "Well, it might help if you take a look at the demo code."
nvl clear
eside "You can specify transitions that occur when going from NVL-mode to ADV-mode."
nvle "As well as when going from ADV-mode to NVL-mode."
nvle "Text tags like {{w}{w} work in NVL-mode."
extend " As does the \"extend\" special character."
nvle "And that's it for NVL-mode."
$ menu = renpy.display_menu
nvl hide dissolve
$ _last_say_who = None
window show dissolve
return
-37
View File
@@ -1,37 +0,0 @@
init:
$ mp = MultiPersistent("demo.renpy.org")
label demo_persistent:
"Ren'Py supports per-game and multi-game persistent data."
"Persistent data can store flags and other per-game information that should be shared between plays of a single game."
# per-game persistent data example.
python:
if persistent.plays is None:
persistent.plays = 1
else:
persistent.plays += 1
plays = persistent.plays
"For example, I can tell you that you've see this line [plays] time(s) since you cleared the per-game persistent data."
"Multipersistent data is shared between games, which lets one game unlock features in a second."
"A sequel might play differently if the player has beaten the first game."
# multipersistent data example.
python:
if mp.plays is None:
mp.plays = 1
else:
mp.plays += 1
mp.save()
plays = mp.plays
"According to the multipersistent data, you've seen this line [plays] times total."
return
-140
View File
@@ -1,140 +0,0 @@
# This file demonstrates some of the text-layout and handling
# capabilities of Ren'Py.
init:
# Register an sfont.
$ renpy.register_sfont('new_sfont', 22,
filename="new_sfont.png",
spacewidth=6)
# Declare a character that uses the sfont.
$ esfont = Character(_("Eileen"),
color="#c8ffc8",
what_font="new_sfont")
# Slow text.
$ eslow = Character(_("Eileen"),
color="#c8ffc8",
what_slow_cps=20)
# Outlined text.
$ eoutline = Character(_("Eileen"),
color="#c8ffc8",
what_outlines=[ (1, "#282") ])
# Use it in subtitle mode.
$ esubtitle = Character(None,
what_size=28,
what_outlines=[(3, "#0008", 2, 2), (3, "#282", 0, 0)],
what_layout="subtitle",
what_xalign=0.5,
what_text_align=0.5,
window_background=None,
window_yminimum=0,
window_xfill=False,
window_xalign=0.5)
# This is used to show the defintion text, by the hyperlink demostration
# code.
$ definition = Character(None,
window_yfill=True,
window_xmargin=20,
window_ymargin=30)
# The pink style, which we use as a custom text tag.
$ style.pink = Style(style.default)
$ style.pink.color = "#ffc0c0"
init python:
style.ruby_style = Style(style.default)
style.ruby_style.yoffset = -20
style.ruby_style.size = 12
define eruby = Character(
_("Eileen"),
color="#c8ffc8",
what_ruby_style=style.ruby_style,
what_line_leading=10)
label demo_text:
e "Ren'Py gives you quite a bit of control over how text appears."
e "Text tags let us control the appearance of text that is shown to the user."
e "Text tags can make text {b}bold{/b}, {i}italic{/i}, {s}struckthrough{/s}, or {u}underlined{/u}."
e "They can make the font size {size=+12}bigger{/size} or {size=-8}smaller{/size}."
e "They let you pause{w} the display of the text, optionally with{p}line breaks."
e "They let you include images inside text{image=exclamation.png} Neat{image=exclamation.png}"
e "We can pause the text for a short time, and have it auto-advance.{w=1} Just like that."
eslow "We can even have the text auto-advance,{nw}"
with flashbulb
extend " when we reach the end of a block of text, in slow text mode."
e "They can change the {color=#f00}color{/color} {color=#ff0}of{/color} {color=#0f0}the{/color} {color=#0ff}text{/color}."
# e "There are also bold, italic, strikethrough, and underline style properties, which can be styled onto any text."
e "The kerning tag lets you adjust the spacing between characters.\n{k=.5}The spacing between characters can be increased.{/k}\n{k=-.5}The spacing between characters can be decreased.{/k}"
eruby "You are able to write ruby text, which can help clarify how to pronounce words, like {rb}Ren'Py{/rb}{rt}ren-pie{/rt}."
e "{a=define_hyperlink}Hyperlinks{/a} let buttons be defined using text tags."
e "The space and vspace tags add {space=30} horizontal and {vspace=20}vertical space, respectively."
e "You can define your own text tags, {=pink}that use a style you define.{/=pink}"
e "If you find yourself using text tags on every line, you should probably look at style properties instead."
e "Used with care, text tags can enhance {b}your{/b} game."
e "{u}Used{/u} with {i}abandon,{/i} they {b}can{/b} make {b}your{/b} game {color=#333}hard{/color} {color=#888}to{/color} {color=#ccc}read{/color}."
e "With great power comes great responsibility, after all."
e "And we want to give you all the power you need."
e "There are a couple of text adjustments that don't correspond to text tags."
eoutline "The outlines setting lets you put outlines around the text."
eoutline "You can have more than one outline, and each has its own color and offset."
window hide
esubtitle "Here, we have two outlines around the white text."
esubtitle "The bottom one is a translucent black that's offset a little, while the top one is green."
esubtitle "By hiding the window and adjusting the layout method, we are able to create reasonable subtitles."
esubtitle "This might be an interesting look for a game."
window show
esfont "For even more control, Ren'Py supports SFonts, image files containing font information."
esfont "SFonts let you use fonts you otherwise couldn't, and apply special effects to fonts using your favorite image editor."
e "Well, that's it for fonts and text tags."
return
label define_hyperlink:
definition "A hyperlink is a button that is defined inside text, using text tags. They're ideal for including definitions of words used in the script, but they shouldn't be used in place of menus."
return
-222
View File
@@ -1,222 +0,0 @@
# This is the code for the logo example.
init python:
# This spins the logo, while at the same time zooming it and decreasing the
# alpha.
def logo_transform(t, st, at):
# Repeat every 10 seconds.
st = st % 7.0
# The move takes 5 seconds.
done = min(st / 5.0, 1.0)
t.xpos = done
t.xanchor = 1.0 - done
t.ypos = .5
t.yanchor = .5
t.rotate = 360 * done
t.alpha = 1.0 - done
t.zoom = 1.0 + done
return 0
# This is the code for the balls example. It's a bit complicated, but most of
# this is the code for ball movement and so on. Only a very little bit of this
# actually deals with Ren'Py.
init python:
import math
class Ball(object):
def __init__(self, filename, x, y, function=None):
self.transform = Transform(child=filename, xanchor=0.5, yanchor=0.5, rotate=0, function=function)
self.x = x
self.y = y
MAX_SPEED = 150
self.dx = renpy.random.uniform(-MAX_SPEED, MAX_SPEED)
self.dy = renpy.random.uniform(-MAX_SPEED, MAX_SPEED)
# Rotation speed.
self.drotate = renpy.random.uniform(0, 180)
# This is called
def balls_collide(p1, p2):
"""
Check to see if any of the balls are colliding. If they are,
then handle the collision.
"""
DOUBLE_RADIUS = 75
x21 = p2.x - p1.x
y21 = p2.y - p1.y
d = math.hypot(x21, y21)
# Return if too far.
if d > DOUBLE_RADIUS:
return
vx21 = p2.dx - p1.dx
vy21 = p2.dy - p1.dy
# Return if not approaching.
if (vx21 * x21 + vy21 * y21) > 0:
return
# Fix divide by zero.
if x21 == 0:
x21 = .00001
# Compute the collision.
a = y21 / x21
dvx2 = -(vx21 + a * vy21) / (1 + a * a)
p2.dx += dvx2
p2.dy += a * dvx2
p1.dx -= dvx2
p2.dy -= a * dvx2
# This is called by the first transform. It updates all of the
# transforms.
def balls_update(pilot, st, at):
global last_time
RADIUS = 75 / 2
LEFT = RADIUS
RIGHT = 800 - RADIUS
TOP = RADIUS
BOTTOM = 600 - RADIUS
# The pilot is the first ball in our list, and he's the one
# that gets last_time updated.
if last_time is None:
dt = 0
else:
dt = st - last_time
last_time = st
# Handle current collisions.
for i in xrange(0, len(balls)):
for j in xrange(i + 1, len(balls)):
balls_collide(balls[i], balls[j])
# Basic movement, and bouncing off the walls.
for i in balls:
i.x += i.dx * dt
i.y += i.dy * dt
if i.x < LEFT:
i.x = LEFT
i.dx = abs(i.dx)
if i.x > RIGHT:
i.x = RIGHT
i.dx = -abs(i.dx)
if i.y < TOP:
i.y = TOP
i.dy = abs(i.dy)
if i.y > BOTTOM:
i.y = BOTTOM
i.dy = -abs(i.dy)
# Update the transforms.
for i in balls:
# This is the code that deals with Ren'Py to update the
# various transforms. Note that we use absolute coordinates
# to position ourselves with subpixel accuracy.
i.transform.xpos = absolute(i.x)
i.transform.ypos = absolute(i.y)
i.transform.rotate = (i.drotate * st) % 360.0
i.transform.update()
return 0
# These are used in the button example:
init python:
def button_transform(t, st, at):
t.rotate = (90 * st) % 360.0
return 0
label demo_transform:
e "The Transform function allows you to rotate, zoom, move, and adjust the alpha of a displayable."
e "It does this under the control of a Python function, making it incredibly flexible at the cost of some complexity."
hide eileen
with dissolve
show logo base at Transform(function=logo_transform)
e "Here's a simple example, showing how we can change an image as it moves around the screen."
e "A nice thing about Transform is that it's \"one price\"."
e "If you use it to do a rotation, you can zoom or adjust alpha at no additional cost."
hide logo base
with dissolve
python:
last_time = None
# Define a list of ball objects.
balls = [
Ball("eileen_orb.png", 200, 150, function=balls_update),
Ball("lucy_orb.png", 400, 150),
Ball("eileen_orb.png", 600, 150),
Ball("lucy_orb.png", 200, 300),
Ball("lucy_orb.png", 600, 300),
Ball("eileen_orb.png", 200, 450),
Ball("lucy_orb.png", 400, 450),
Ball("eileen_orb.png", 600, 450),
]
# Add each ball's transform to the screen.
for i, b in enumerate(balls):
renpy.show("ball%d" % i, what=b.transform)
with dissolve
e "As the python functions get more complicated, more advanced behavior is possible."
e "This can include coordinating more than one Transform."
python:
for i, b in enumerate(balls):
renpy.hide("ball%d" % i)
with dissolve
python hide:
ui.transform(function=button_transform, xalign=0.5, yalign=0.5)
ui.textbutton(_("A Working Button"), clicked=ui.returns(True))
e "Finally, transforms can be applied to buttons, and work even while the button is zoomed."
show eileen happy
with dissolve
e "With a little Python code, transforms let you do a lot of things."
return
-478
View File
@@ -1,478 +0,0 @@
# This file demonstrates the built-in transitions which are defined in
# common/definitions.rpy, and also the new transitions given above.
init:
# Define some new transitions here.
$ slow_dissolve = Dissolve(1.0)
$ flashbulb = Fade(0.2, 0.0, 0.8, color='#fff')
# Imagedissolve Transitions.
$ circleirisout = ImageDissolve("id_circleiris.png", 1.0, 8)
$ circleirisin = ImageDissolve("id_circleiris.png", 1.0, 8, reverse=True)
$ circlewipe = ImageDissolve("id_circlewipe.png", 1.0, 8)
$ dream = ImageDissolve("id_dream.png", 2.0, 64)
$ teleport = ImageDissolve("id_teleport.png", 1.0, 0)
image bg circleiris = "id_circleiris.png"
image bg teleport = "id_teleport.png"
image alpha_control:
"spotlight.png"
xanchor .5
yanchor .5
parallel:
zoom 0
linear .5 zoom .75
pause 2
linear 1.0 zoom 4.0
parallel:
xpos 0.0 ypos .6
linear 1.5 xpos 1.0
linear 1.0 xpos .5 ypos .2
pause .5
repeat
define alpha_example = AlphaDissolve("alpha_control", delay=3.5)
label demo_transitions:
e "Ren'Py ships with a large number of built-in transitions, and also includes classes that let you define your own."
menu demo_transitions_menu:
e "What kind of transitions would you like demonstrated?"
"Simple Transitions":
call demo_simple_transitions from _call_demo_simple_transitions_1
"ImageDissolve Transitions":
call demo_imagedissolve_transitions from _call_demo_imagedissolve_transitions_1
"MoveTransition Transitions":
call demo_movetransition from _call_demo_movetransition_1
"CropMove Transitions":
call demo_cropmove_transitions from _call_demo_cropmove_transitions_1
"PushMove Transitions":
call demo_pushmove_transitions from _call_demo_pushmove_transitions_1
"AlphaDissolve Transitions":
call demo_alphadissolve from _call_demo_alphadissolve
""
"How about something else?":
return
jump demo_transitions_menu
label demo_simple_transitions:
e "Okay, I can tell you about simple transitions. We call them simple because they don't take much in the way of configuration."
e "But don't let that get you down, since they're the transitions you'll probably use the most in a game."
show bg whitehouse
with dissolve
e "The 'dissolve' transition is probably the most useful, blending one scene into another."
show bg washington
with slow_dissolve
e "The 'Dissolve' function lets you create your own dissolves, taking a different amount of time."
show bg whitehouse
with fade
e "The 'fade' transition fades to black, and then fades back in to the new scene."
e "If you're going to stay at a black screen, you'll probably want to use 'dissolve' rather than 'fade'."
with flashbulb
e "You can use 'Fade' to define your own fades. By changing the timing and the color faded to, you can use this for special effects, like flashbulbs."
show bg washington
with pixellate
e "The 'pixellate' transition pixellates out the old scene, switches to the new scene, and then unpixellates that."
e "It's probably not appropriate for most games, but we
think it's kind of neat."
e "You can use 'Pixellate' to change the details of the pixellation."
e "Motions can also be used as transitions."
"..."
"......"
$ renpy.play('punch.wav')
with vpunch
e "Hey! Pay attention."
e "I was about to demonstrate 'vpunch'... well, I guess I just did."
$ renpy.play('punch.wav')
with hpunch
e "We can also shake the screen horizontally, with 'hpunch'. These were defined using the 'Move' function."
e "There's also the 'move' transition, which is confusingly enough defined using the 'MoveTransition' function."
show eileen happy at right
with move
show eileen happy at center
with move
e "The 'move' transition finds images that have changed placement, and slides them to their new place. It's an easy way to get motion in your game."
e "Finally, there's 'Pause', which lets you define a transition that just waits for a given amount of time."
e "Why would you want to do that?"
e "It's because clicking during a sequence of transitions will skip all of the remaining transitions."
e "Try clicking during the following transitions:"
show bg whitehouse
with dissolve
with Pause(1)
show bg washington
with dissolve
e "Having 'Pause' makes it easy to implement skippable cut-scenes in terms of transitions."
e "Anyway, that's it for the simple transitions."
return
label demo_imagedissolve_transitions:
e "Perhaps the most flexible kind of transition is the ImageDissolve, which lets you use an image to control a dissolve."
e "This lets us specify very complex transitions, fairly simply. Let's try some, and then I'll show you how they work."
e "There are two ImageDissolve transitions built into Ren'Py."
scene black
with blinds
scene bg washington
show eileen happy
with blinds
e "The 'blinds' transition opens and closes what looks like vertical blinds."
scene black
with squares
scene bg washington
show eileen happy
with squares
e "The 'squares' transition uses these squares to show things."
e "I'm not sure why anyone would want to use it, but it was used in some translated games, so we added it."
e "The most interesting transitions aren't in the standard library."
e "These ones require an image the size of the screen, and so we couldn't include them as the size of the screen can change from game to game."
e "You can click the button above to see how they are defined in the demo script."
scene black
with circleirisin
e "We can hide things with a 'circleirisin'..."
scene bg washington
with circleirisout
e "... and show them again with a 'circleirisout'."
show bg whitehouse
with circlewipe
e "The 'circlewipe' transitions changes screens using a circular wipe effect."
scene bg washington
with dream
e "The 'dream' transition does this weird wavy dissolve, and does it relatively slowly."
show eileen happy
with teleport
e "The 'teleport' transition reveals the new scene one line at a time."
scene bg circleiris
with dissolve
e "This is the background picture used with the circleirisout transition."
e "When we use an ImageDissolve, the white will dissolve in first, followed by progressively darker colors. Let's try it."
show bg washington
with circleirisout
e "If we give ImageDissolve the 'reverse' parameter, black areas will dissolve in first."
show bg circleiris
with circleirisin
e "This lets circleirisin and circleirisout use the same image."
show bg teleport
with dissolve
e "The teleport transition uses a different image, one that dissolves things in one line at a time."
show bg washington
with teleport
e "A dissolve only seems to affect parts of the scene that have changed..."
show eileen happy
with teleport
e "... which is how we apply the teleport effect to a single character."
e "For more examples of ImageDissolve, check out the {i}Utsukushii Effects{/i} demo."
e "It shows how a clever game-maker can use ImageDissolve to create all sorts of effects."
return
label demo_cropmove_transitions:
e "The CropMove transition class provides a wide range of transition effects. It's not used very much in practice, though."
show eileen happy at offscreenleft
with move
e "I'll stand offscreen, so you can see some of its modes. I'll read out the mode name after each transition."
scene bg whitehouse
with wiperight
e "We first have wiperight..."
scene bg washington
with wipeleft
e "...followed by wipeleft... "
scene bg whitehouse
with wipeup
e "...wipeup..."
scene bg washington
with wipedown
e "...and wipedown."
e "Next, the slides."
scene bg whitehouse
with slideright
e "Slideright..."
scene bg washington
with slideleft
e "...slideleft..."
scene bg whitehouse
with slideup
e "...slideup..."
scene bg washington
with slidedown
e "and slidedown."
e "While the slide transitions slide in the new scene, the
slideaways slide out the old scene."
scene bg whitehouse
with slideawayright
e "Slideawayright..."
scene bg washington
with slideawayleft
e "...slideawayleft..."
scene bg whitehouse
with slideawayup
e "...slideawayup..."
scene bg washington
with slideawaydown
e "and slideawaydown."
e "We also have a couple of transitions that use a
rectangular iris."
scene bg whitehouse
with irisout
e "There's irisout..."
scene bg washington
show eileen happy
with irisin
e "... and irisin."
e "It's enough to make you feel a bit dizzy."
return
label demo_pushmove_transitions:
e "The PushMove transitions use the new scene to push the old one out. Let's take a look."
show bg whitehouse
hide eileen
with pushright
"There's pushright..."
show bg washington
with pushleft
"...pushleft..."
show bg whitehouse
with pushdown
"...pushdown..."
show bg washington
show eileen happy
with pushup
"... and pushup. And that's it the for the PushMove-based transitions."
return
label demo_movetransition:
e "The most common MoveTransition is move, which slides around images that have changed position on the screen."
show eileen happy at left
with move
e "Just like that."
e "There are also the moveout and movein transitions."
e "The moveout transitions (moveoutleft, moveoutright, moveouttop, and moveoutbottom) slide hidden images off the appropriate side of the screen."
e "The movein transitions (moveinleft, moveinright, moveintop, and moveinbottom) slide in new images."
e "Let's see them all in action."
hide eileen happy
with moveoutleft
show eileen happy
with moveinbottom
hide eileen happy
with moveoutbottom
show eileen happy
with moveinright
hide eileen happy
with moveoutright
show eileen flip
with moveintop
hide eileen flip
with moveouttop
show eileen happy
with moveinleft
e "That's it for the moveins and moveouts."
e "Finally, there are the zoomin and zoomout transtions, which show and hide things using a zoom."
hide eileen happy
with zoomout
show eileen happy
with zoomin
e "And that's all there is."
return
label demo_alphadissolve:
e "The AlphaDissolve transition lets you use one displayable to combine two others. For example..."
scene black
with dissolve
scene bg washington
show eileen happy at center
with alpha_example
e "The AlphaDissolve displayable takes a control displayable, usually an ATL transform."
scene
show alpha_control
e "To be useful, the control displayable should be partially transparent."
e "During an AlphaDissolve, the old screen is used to fill the transparent areas of the image, while the new screen fills the opaque areas."
scene black
e "For our spotlight example, the old screen is this all-black image."
scene bg washington
show eileen happy at center
e "The new screen is me just standing here."
scene black
with dissolve
scene bg washington
show eileen happy at center
with alpha_example
e "By combining them using AlphaDissolve, we can build a complicated effect out of simpler parts."
return
-331
View File
@@ -1,331 +0,0 @@
# This file contains a demonstration of the user interaction
# functions.
screen viewport_screen:
viewport:
scrollbars "both"
xmaximum 400
ymaximum 400
side_xpos 100
side_ypos 100
side_spacing 5
draggable True
mousewheel True
arrowkeys True
add "concert2"
textbutton _("Dismiss"):
xpos 300
xanchor 0.5
ypos 550
yanchor 0.5
action Return(True)
screen edgescroll_screen:
viewport:
edgescroll (150, 500)
add "concert2"
screen demo_imagemap:
imagemap:
auto "imagemap_%s.jpg"
hotspot (8, 200, 78, 78) action Return("swimming") alt "Swimming"
hotspot (204, 50, 78, 78) action Return("science") alt "Science"
hotspot (452, 79, 78, 78) action Return("art") alt "Art"
hotspot (602, 316, 78, 78) action Return("go home") alt "Go Home"
init:
# The variable we store the entered name of the character in.
$ povname = ""
# And this is a DynamicCharacter that has the same stored in
# povname.
$ pov = DynamicCharacter("povname", color=(192, 64, 64, 255))
# This is code for a day planner, or at least sort of. To be
# honest, the code in the dse game is a bit better. Take this
# as more of an example of what Ren'Py can do.
python:
def day_planner():
periods = [ _('Morning'), _('Afternoon'), _('Evening') ]
periods_small = {'Morning': _('morning'), 'Afternoon': _('afternoon'), 'Evening': _('evening') }
choices = [ _('Study'), _('Exercise'),
_('Eat'), _('Drink'), _('Be Merry') ]
plan = { _('Morning') : _('Eat'),
_('Afternoon') : _('Drink'),
_('Evening') : _('Be Merry') }
day = _('March 25th')
stats = [
(_('Strength'), 100, 10),
(_('Intelligence'), 100, 25),
(_('Moxie'), 100, 100),
(_('Chutzpah'), 100, 75),
]
editing = None
def button(text, selected, returns, **properties):
if selected:
role='selected_'
else:
role=''
ui.button(clicked=ui.returns(returns),
style='button', role=role, **properties)
ui.text(text, style='button_text')
while True:
# Stats Window
ui.frame(xpos=0,
ypos=0,
xanchor='left',
yanchor='top',
xfill=True,
)
ui.vbox()
ui.text(_('Statistics'))
ui.null(height=20)
for name, range, value in stats:
ui.hbox()
ui.text(name, minwidth=150)
ui.bar(range, value, ypos=0.5, yanchor='center')
ui.close()
ui.close()
# Period Selection Window.
ui.frame(xpos=0,
ypos=200,
xanchor='left',
yanchor='top',
xfill=False,
xminimum=300
)
ui.vbox(xpos=0.5, xanchor='center')
ui.text(day, xpos=0.5, xanchor='center', textalign=0.5)
ui.null(height=20)
for i in periods:
renpy.store.period_tmp = i
renpy.store.plan_tmp = plan[i]
button("[period_tmp!t]: [plan_tmp!t]", editing == i, ("edit", i), xminimum=250)
ui.null(height=20)
ui.textbutton(_("Continue"),
clicked=ui.returns(("done", True)),
xminimum=250)
ui.null(height=20)
ui.close()
# Choice window.
if editing:
ui.frame(xpos=300,
ypos=200,
xanchor='left',
yanchor='top',
xfill=False,
xminimum=500,
xmargin = 10
)
ui.vbox()
renpy.store.periods_small_selected = periods_small[editing]
ui.text(_("What will you do in the [periods_small_selected!t]?"))
ui.null(height=20)
for i in choices:
button(i,
plan[editing] == i,
("set", i),
xpos=0,
xanchor='left',
xminimum=250)
ui.close()
# Window at the bottom.
e(_("To get to the next screen, click the 'Continue' button."), interact=False)
type, value = ui.interact()
if type == "done":
break
if type == "edit":
editing = value
if type == "set":
plan[editing] = value
editing = None
return plan
init python:
def stats_frame(name, level, hp, maxhp, **properties):
ui.frame(xfill=False, yminimum=None, **properties)
ui.hbox() # (name, "HP", bar) from (level, hp, maxhp)
ui.vbox() # name from ("HP", bar)
ui.text(name, size=20)
ui.hbox() # "HP" from bar
ui.text("HP", size=20)
ui.bar(maxhp, hp,
xmaximum=150)
ui.close()
ui.close()
ui.vbox() # Level from (hp/maxhp)
ui.text("Lv. %d" % level, xalign=0.5, size=20)
ui.text("%d/%d" % (hp, maxhp), xalign=0.5, size=20)
ui.close()
ui.close()
label fight(ename, elevel, ehp, pname="Zanthier", plevel=4, php=40):
$ stats_frame(pname, plevel, int(php * .73), php, xalign=.02, yalign=.05)
$ stats_frame(ename, elevel, ehp, ehp, xalign=.98, yalign=.05)
return
label demo_ui:
e "Ren'Py gives a number of ways of interacting with the user."
e "You've already seen say statements and menus."
menu:
e "But were you aware that you can have dialogue and menus onscreen at the same time?"
"Yes.":
show eileen vhappy
e "Good!"
show eileen happy
"No.":
e "Well, now you know."
if not renpy.variant('touch'):
e "We can also prompt the user to enter some text."
$ povname = renpy.input(_("What is your name?")) or _("Guy Shy")
pov "My name is [povname!t]."
e "Imagemaps let the user click on an image to make a choice. For example, the following screen lets you pick what to do after school:"
# Show an imagemap.
window hide None
call screen demo_imagemap
window show None
# Call screen assignes the chosen result from the imagemap to the
# _return variable. We can use an if statement to vary what
# happens based on the user's choice.
if _return == "swimming":
e "You chose swimming."
e "Swimming seems like a lot of fun, but I didn't bring my bathing suit with me."
elif _return == "science":
e "You chose science."
e "I've heard that some schools have a competitive science team, but to me research is something that can't be rushed."
elif _return == "art":
e "You chose art."
e "Really good background art is hard to make, which is why so many games use filtered photographs. Maybe you can change that."
elif _return == "go home":
e "You chose to go home."
e "Anyway..."
e "We also support viewports, that allow us to display things that are bigger than the screen."
e "This viewport can be adjusted by dragging, by the mouse wheel, and by the scrollbars."
window hide
show eileen happy at right
with move
call screen viewport_screen
show screen edgescroll_screen
with dissolve
e "Viewports also support edge scrolling, which is automatic scrolling when the mouse reaches their edge."
hide screen edgescroll_screen
show eileen happy at center
with dissolve
window show
e "While these constructs are probably enough for most visual novels, dating simulations may be more complicated."
e "The ui functions allow you to create quite complicated interfaces."
e "For example, try the following scheduling and stats screen, which could be used by a stat-based dating simulation."
hide eileen
with dissolve
$ day_planner()
show eileen happy
with dissolve
e "For a better implementation of this, take a look at the dating sim engine (DSE) that ships with Ren'Py."
call fight("Eileen", 10, 99, pname=povname) from _call_fight_1
e "The ui functions can be also be used to show the sorts of stats you'd need if your game involves combat."
call fight("Eileen", 10, 99, pname=povname) from _call_fight_2
e "Hopefully, the ui functions will let you write whatever visual novel or dating sim you want."
return
-152
View File
@@ -1,152 +0,0 @@
# This file contains code for the menu that lets people select which demo
# they want to use. It uses quite a bit of the UI code, but it's probably
# a bit complex for the average user.
init:
python:
demos_main = [
("demo_basics", "Basic Scripting", "5.6.3"),
("demo_experience", "User Experience", "5.6.3"),
("demo_transitions", "Transitions", "5.6.6"),
("demo_movement", "Positions and Movement", "6.9.0"),
("demo_animation", "Animation", "6.2.0"),
("demo_multimedia", "Music, Sound, and Video", "6.9.1"),
("demo_imageops", "Image Operations", "6.5.0"),
("demo_ui", "User Interaction", "6.5.0"),
("demo_text", "Fonts and Text Tags", "6.8.0"),
("demo_character", "Character Objects", "6.2.0"),
("demo_advanced", "Advanced Features", "6.9.0"),
]
# Update above with this!
demos_advanced = [
("demo_layers", "Layers & Advanced Show", "5.6.5"),
("demo_nvlmode", "NVL Mode", "6.4.0"),
("demo_dynamic", "Dynamic Displayables", "5.6.3"),
("demo_minigame", "Minigames", "6.3.2"),
("demo_persistent", "Persistent Data", "6.7.0"),
("demo_transform", "Transform", "6.9.0"),
]
def demos_show(demos_info, nevermind):
renpy.choice_for_skipping()
ui.vbox(xpos=250, ypos=225, yanchor=0.5)
for label, name, ver in demos_info:
ui.button(style='button',
clicked=ui.returns(label),
xminimum=530,
left_padding=20)
ui.hbox()
ui.text(name, style='button_text', size=22, minwidth=440)
ui.text(ver, style='button_text', size=22)
ui.close()
ui.text(" ")
ui.button(style='button',
clicked=ui.returns(False),
xminimum=530,
left_padding=20)
ui.text(nevermind, style='button_text', size=22, minwidth=450)
ui.close()
rfd = renpy.roll_forward_info()
store.result = ui.interact(roll_forward=rfd)
renpy.checkpoint(store.result)
label demos:
# Is this the first time through the demo?
$ demo_first_time = True
show eileen happy at left
with move
label demo_repeat:
python hide:
if demo_first_time:
e("What would you like demonstrated?", interact=False)
else:
e("Is there anything else you'd like demonstrated?", interact=False)
store.demo_first_time = False
demos_show(demos_main, "That's enough for now.")
# If the result is False, then the user clicked the "Enough for
# now" button, and we should return to the main script.
if result == False:
show eileen happy at center
with move
return
# If the result is the advanced demo, just call it without
# re-setting up the screen.
elif result == "demo_advanced":
call demo_advanced from _call_demo_advanced_1
jump demo_repeat
else:
show eileen happy
with move
# Otherwise, we want to call the result.
call expression result from _call_result_1
show eileen happy at left
with move
# And then re-show this menu.
jump demo_repeat
# Presented without commentary, as it's basically a repeat of the above.
label demo_advanced:
# Hide the editor button.
$ show_editor_button = False
python hide:
e("Which advanced feature would you like to learn about?", interact=False)
demos_show(demos_advanced, "Nevermind.")
# Move eileen back to the center of the screen, unless we're going for
# an advanced demo.
# Show the editor button.
$ show_editor_button = True
# If the result is False, then the user clicked the "Enough for
# now" button, and we should return to the main script.
if result == False:
return
else:
show eileen happy
with move
# Otherwise, we want to call the result.
call expression result from _call_result_2
show eileen happy at left
with move
# And then re-show this menu.
jump demo_advanced
-56
View File
@@ -1,56 +0,0 @@
# This file contains code that's used to display the editor button,
# and the code that launches the editor with the given filename.
# This file can serve as an example of how to use an overlay, I guess.
init:
# This lets us control if the editor button is shown or not.
$ show_editor_button = False
python hide:
# This function is called at least one per interaction.
def overlay():
# If we don't want to show the editor button, do nothing.
if not show_editor_button:
return
# Figure out the filename and the line number.
import os.path
filename, line = renpy.get_filename_line()
filename = os.path.basename(filename)
# The function that is called when the button is clicked.
def clicked():
# We want to look for the filename in config.gamedir,
# rather then using the full filename given by
# get_filename_line. This is because the filename is fixed
# when the file is compiled, and so may have changed before
# the script is run. config.gamedir is computed when Ren'Py
# starts up, and so should always be right.
fullfn = config.gamedir + "/" + filename
# If the file exists, then we launch it in the editor, using
# the undocumented launch_editor function.
if os.path.exists(fullfn):
renpy.launch_editor([ fullfn ], line)
# Display the button, modifying its look so that it doesn't
# take up an excessive amount of space.
ui.button(clicked=clicked,
xpos=798, xanchor=1.0, ypos=2, xpadding=6, xminimum=200,
background=RoundRect((0, 60, 120, 255), 6),
hover_background=RoundRect((0, 80, 160, 255), 6),
)
# The button contains this text. We can't use ui.textbutton,
# since we want to restyle things.
ui.text("%s:%d" % (filename, line),
style="button_text",
size=14)
# Append the overlay function to the list of overlay functions.
config.overlay_functions.append(overlay)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

-169
View File
@@ -1,169 +0,0 @@
# This file is responsible for displaying code examples. It expects to see
# comments like #begin foo and #end foo a the start of lines. The code is
# then used to create example fragments.
#
# When we see:
#
# show example foo bar
#
# We concatenate fragements foo and bar, higlight them, wrap them into a
# viewport, button and transform, and display them to the user.
transform example_transform:
ypos 450 yanchor 1.0 xpos 0 xanchor 0
on replace:
crop (0, 0, 800, 120)
on show:
crop (0, 0, 800, 0)
linear .5 crop (0, 0, 800, 120)
on hide:
linear .5 crop (0, 0, 800, 0)
init python:
import re
import keywords
KEYWORDS = set(keywords.keywords)
PROPERTIES = set(keywords.properties)
KEYWORDS = [ re.escape(i) for i in keywords.keywords ]
PROPERTIES = [ re.escape(i) for i in keywords.properties ]
KWREGEX = r"|".join(KEYWORDS)
PRREGEX = r"|".join(PROPERTIES)
regex = r"(?P<word>\b(\$|\w+)\b)" + \
r"|(?P<string>\"([^\"]|\\.)*\")" + \
r"|(?P<comment>#.*)"
regex = re.compile(regex)
# This maps from example name to the text of the fragment.
examples = { }
class __Example(object):
"""
When parameterized, this displays an example window, containing
example text from blocks with those parameters.
"""
def colorize(self, m):
if m.group("string"):
return "{color=#060}" + m.group(0) + "{/color}"
word = m.group("word")
if word:
if word in KEYWORDS:
return "{color=#840}" + m.group(0) + "{/color}"
elif word in PROPERTIES:
return "{color=#048}" + m.group(0) + "{/color}"
else:
return m.group(0)
if m.group("comment"):
return "{color=#600}" + m.group(0) + "{/color}"
return m.group(0)
def predict(self, callback):
return
def _duplicate(self, args):
# Collect the examples we use.
lines1 = [ ]
for i in args.args:
if i not in examples:
raise Exception("Unknown example %r." % i)
lines1.extend(examples[i])
# Strip off doubled blank lines.
last_blank = False
lines = [ ]
for i in lines1:
if not i and last_blank:
continue
last_blank = not i
i = regex.sub(self.colorize, i)
lines.append(i)
# Join them into a single string.
code = "\n".join(lines) + "\n "
ct = Text(code, size=16, color="#000")
vp = Viewport(ct, child_size=(2000, 2000), ymaximum=120, draggable=True, mousewheel=True)
w = Window(vp,
background = "#fffc",
top_padding=0,
right_padding=0,
bottom_padding=0,
yminimum=0,
)
return example_transform(w)
image example = __Example()
init python hide:
import os.path
import re
# A list of files we will be scanning.
files = [ ]
for i in os.listdir(config.gamedir):
if i.endswith(".rpy"):
files.append(os.path.join(config.gamedir, i))
for fn in files:
f = file(fn, "r")
open_examples = set()
for l in f:
l = l.decode("utf-8")
l = l.rstrip()
m = re.match("\s*#begin (\w+)", l)
if m:
example = m.group(1)
if example in examples:
raise Exception("Example %r is defined in two places.", example)
open_examples.add(example)
examples[example] = [ ]
continue
m = re.match("\s*#end (\w+)", l)
if m:
example = m.group(1)
if example not in open_examples:
raise Exception("Example %r is not open.", example)
open_examples.remove(example)
continue
for i in open_examples:
examples[i].append(l)
if open_examples:
raise Exception("Examples %r remain open at the end of %r" % (open_examples, fn))
f.close()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

-400
View File
@@ -1,400 +0,0 @@
## This file contains some of the options that can be changed to customize
## your Ren'Py game. It only contains the most common options... there
## is quite a bit more customization you can do.
##
## Lines beginning with two '#' marks are comments, and you shouldn't
## uncomment them. Lines beginning with a single '#' mark are
## commented-out code, and you may want to uncomment them when
## appropriate.
init -1 python hide:
## Should we enable the use of developer tools? This should be
## set to False before the game is released, so the user can't
## cheat using developer tools.
config.developer = True
## These control the width and height of the screen.
config.screen_width = 800
config.screen_height = 600
## This controls the title of the window, when Ren'Py is
## running in a window.
config.window_title = u"The Ren'Py Tutorial Game"
# These control the name and version of the game, that are reported
# with tracebacks and other debugging logs.
config.name = "Ren'Py Tutorial"
config.version = '{}.{}.{} "{}"'.format(
renpy.renpy.version_tuple[0],
renpy.renpy.version_tuple[1],
renpy.renpy.version_tuple[2],
renpy.renpy.version_name)
## We then want to call a theme function. themes.roundrect is
## a theme that features the use of rounded rectangles. It's
## the only theme we currently support.
##
## The theme function takes a number of parameters that can
## customize the color scheme.
theme.roundrect(
## The color of an idle widget face.
widget = "#003c78",
## The color of a focused widget face.
widget_hover = "#0050a0",
## The color of the text in a widget.
widget_text = "#c8ffff",
## The color of the text in a selected widget. (For
## example, the current value of a preference.)
widget_selected = "#ffffc8",
## The color of a disabled widget face.
disabled = "#404040",
## The color of disabled widget text.
disabled_text = "#c8c8c8",
## The color of informational labels.
label = "#ffffff",
## The color of a frame containing widgets.
frame = "#6496c8",
## If this is True, the in-game window is rounded. If False,
## the in-game window is square.
rounded_window = False,
## The background of the main menu. This can be a color
## beginning with '#', or an image filename. The latter
## should take up the full height and width of the screen.
mm_root = "main_menu",
## The background of the game menu. This can be a color
## beginning with '#', or an image filename. The latter
## should take up the full height and width of the screen.
gm_root = "#dcebff",
## If True, buttons, frames, and windows will rounded using a
## 6px radius, rather then 12.
less_rounded = True,
## And we're done with the theme. The theme will customize
## various styles, so if we want to change them, we should
## do so below.
)
# For the demo, we use the nicer-looking bars from the outline
# theme.
theme.outline_bars(
inside="#8cf",
idle="#003c78",
hover="#0050a0")
#########################################
## These settings let you customize the window containing the
## dialogue and narration, by replacing it with an image.
## The background of the window. In a Frame, the four numbers are
## the size of the left, top, right, and bottom borders, respectively.
# style.window.background = Frame("frame.png", 8, 0, 8, 0)
## Margin is space surrounding the window, where the background
## is not drawn.
# style.window.left_margin = 6
# style.window.right_margin = 6
# style.window.top_margin = 6
# style.window.bottom_margin = 6
## Padding is space inside the window, where the background is
## drawn.
# style.window.left_padding = 6
# style.window.right_padding = 6
# style.window.top_padding = 6
# style.window.bottom_padding = 6
## This is the minimum height of the window, including the margins
## and padding.
# style.window.yminimum = 250
#########################################
## This lets you change the placement of the main menu.
## The way placement works is that we find an anchor point
## inside a displayable, and a position (pos) point on the
## screen. We then place the displayable so the two points are
## at the same place.
## An anchor/pos can be given as an integer or a floating point
## number. If an integer, the number is interpreted as a number
## of pixels from the upper-left corner. If a floating point,
## the number is interpreted as a fraction of the size of the
## displayable or screen.
# style.mm_menu_frame.xpos = 0.5
# style.mm_menu_frame.xanchor = 0.5
# style.mm_menu_frame.ypos = 0.75
# style.mm_menu_frame.yanchor = 0.5
#########################################
## These let you customize the default font used for text in Ren'Py.
## The file containing the default font.
# style.default.font = "DejaVuSans.ttf"
## The default size of text.
# style.default.size = 22
## Note that these only change the size of some of the text. Other
## buttons have their own styles.
#########################################
## These settings let you change some of the sounds that are used by
## Ren'Py.
## Set this to False if the game does not have any sound effects.
config.has_sound = True
## Set this to False if the game does not have any music.
config.has_music = True
## Set this to True if the game has voicing.
config.has_voice = False
## Sounds that are used when button and imagemaps are clicked.
style.button.activate_sound = "click.wav"
style.imagemap.activate_sound = "click.wav"
## Sounds that are used when entering and exiting the game menu.
config.enter_sound = "click.wav"
config.exit_sound = "click.wav"
## A sample sound that can be played to check the sound volume.
config.sample_sound = "tower_clock.ogg"
## Music that is played while the user is at the main menu.
# config.main_menu_music = "main_menu_theme.ogg"
#########################################
## Help.
## This lets you configure the help option on the Ren'Py menus.
## It may be:
## - A label in the script, in which case that label is called to
## show help to the user.
## - A file name relative to the base directory, which is opened in a
## web browser.
## - None, to disable help.
config.help = "README.html"
#########################################
## Transitions.
## Used when entering the game menu from the game.
config.enter_transition = dissolve
## Used when exiting the game menu to the game.
config.exit_transition = dissolve
## Used between screens of the game menu.
config.intra_transition = Dissolve(.25)
## Used when entering the game menu from the main menu.
config.main_game_transition = Dissolve(.25)
## Used when returning to the main menu from the game.
config.game_main_transition = Dissolve(.25)
## Used when entering the main menu from the splashscreen.
config.end_splash_transition = None
## Used when entering the main menu after the game has ended.
config.end_game_transition = fade
## Used when a game is loaded.
config.after_load_transition = dissolve
## Used when the window is shown.
config.window_show_transition = Dissolve(.25)
## Used when the window is hidden.
config.window_hide_transition = Dissolve(.25)
## Used when showing NVL-mode text directly after ADV-mode text.
config.adv_nvl_transition = dissolve
## Used when showing ADV-mode text directly after NVL-mode text.
config.nvl_adv_transition = dissolve
## Used when yesno is shown.
config.enter_yesno_transition = None
## Used when the yesno is hidden.
config.exit_yesno_transition = None
## Used when entering a replay
config.enter_replay_transition = None
## Used when exiting a replay
config.exit_replay_transition = None
## Used when the image is changed by a say statement with image attributes.
config.say_attribute_transition = None
#########################################
## This is the name of the directory where the game's data is
## stored. (It needs to be set early, before any other init code
## is run, so the persisten information can be found by the init code.)
python early:
config.save_directory = "tutorial-1"
init -1 python hide:
#########################################
## Default values of Preferences.
## Note: These options are only evaluated the first time a
## game is run. To have them run a second time, delete
## game/saves/persistent
## Should we start in fullscreen mode?
config.default_fullscreen = False
## The default text speed in characters per second. 0 is infinite.
config.default_text_cps = 0
config.window_icon = "logo.png"
config.windows_icon = "logo32.png"
# Set a default value for the auto-forward time, and note that AFM is
# turned off by default.
config.default_afm_time = 10
config.default_afm_enable = False
# This is the main menu image we use.
image main_menu:
contains:
"#000"
contains:
"concert2"
size (800, 509)
contains:
Text("Ren'Py " + config.version, size=18)
yalign .98
xalign .02
# Demo game specific customizations.
init python:
style.mm_menu_frame.yalign = .98
style.mm_menu_frame.xalign = .98
init python hide:
import os
launcher_language = os.environ.get("RENPY_LAUNCHER_LANGUAGE", "")
if launcher_language and launcher_language != persistent.launcher_language:
persistent.launcher_language = launcher_language
if launcher_language == "english" or (launcher_language not in renpy.known_languages()):
launcher_language = None
_preferences.language = launcher_language
## This section contains information about how to build your project into
## distribution files.
init python:
## The name that's used for directories and archive files. For example, if
## this is 'mygame-1.0', the windows distribution will be in the
## directory 'mygame-1.0-win', in the 'mygame-1.0-win.zip' file.
build.directory_name = "tutorial-1.0"
## The name that's uses for executables - the program that users will run
## to start the game. For example, if this is 'mygame', then on Windows,
## users can click 'mygame.exe' to start the game.
build.executable_name = "tutorial"
## If True, Ren'Py will include update information into packages. This
## allows the updater to run.
build.include_update = True
## File patterns:
##
## The following functions take file patterns. File patterns are case-
## insensitive, and matched against the path relative to the base
## directory, with and without a leading /. If multiple patterns match,
## the first is used.
##
##
## In a pattern:
##
## /
## Is the directory separator.
## *
## Matches all characters, except the directory separator.
## **
## Matches all characters, including the directory separator.
##
## For example:
##
## *.txt
## Matches txt files in the base directory.
## game/**.ogg
## Matches ogg files in the game directory or any of its subdirectories.
## **.psd
## Matches psd files anywhere in the project.
## Classify files as None to exclude them from the built distributions.
build.classify('**~', None)
build.classify('**.bak', None)
build.classify('**/.**', None)
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
## To archive files, classify them as 'archive'.
# build.classify('game/**.png', 'archive')
# build.classify('game/**.jpg', 'archive')
## Files matching documentation patterns are duplicated in a mac app
## build, so they appear in both the app and the zip file.
build.documentation('*.html')
build.documentation('*.txt')
# This is tutorial specific code that searches for fonts in
# launcher/fonts, reducing the size of the zip file containing
# the SDK.
config.searchpath.append("../launcher/game/fonts")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

-575
View File
@@ -1,575 +0,0 @@
# This file is in the public domain. Feel free to modify it as a basis
# for your own screens.
# Note that many of these screens may be given additional arguments in the
# future. The use of **kwargs in the parameter list ensures your code will
# work in the future.
##############################################################################
# Say
#
# Screen that's used to display adv-mode dialogue.
# http://www.renpy.org/doc/html/screen_special.html#say
screen say(who, what, side_image=None, two_window=False):
# Decide if we want to use the one-window or two-window variant.
if not two_window:
# The one window variant.
window:
id "window"
has vbox:
style "say_vbox"
if who:
text who id "who"
text what id "what"
else:
# The two window variant.
vbox:
style "say_two_window_vbox"
if who:
window:
style "say_who_window"
text who:
id "who"
window:
id "window"
has vbox:
style "say_vbox"
text what id "what"
# If there's a side image, display it above the text.
if side_image:
add side_image
else:
add SideImage() xalign 0.0 yalign 1.0
# Use the quick menu.
use quick_menu
##############################################################################
# Choice
#
# Screen that's used to display in-game menus.
# http://www.renpy.org/doc/html/screen_special.html#choice
screen choice(items):
window:
style "menu_window"
xalign 0.5
yalign 0.5
vbox:
style "menu"
spacing 2
for caption, action, chosen in items:
if action:
button:
action action
style "menu_choice_button"
text caption style "menu_choice"
else:
text caption style "menu_caption"
init -2:
$ config.narrator_menu = True
style menu_window is default
style menu_choice is button_text:
clear
style menu_choice_button is button:
xminimum int(config.screen_width * 0.75)
xmaximum int(config.screen_width * 0.75)
##############################################################################
# Input
#
# Screen that's used to display renpy.input()
# http://www.renpy.org/doc/html/screen_special.html#input
screen input(prompt):
window style "input_window":
has vbox
text prompt style "input_prompt"
input id "input" style "input_text"
use quick_menu
##############################################################################
# Nvl
#
# Screen used for nvl-mode dialogue and menus.
# http://www.renpy.org/doc/html/screen_special.html#nvl
screen nvl(dialogue, items=None):
window:
style "nvl_window"
has vbox:
style "nvl_vbox"
# Display dialogue.
for who, what, who_id, what_id, window_id in dialogue:
window:
id window_id
has hbox:
spacing 10
if who is not None:
text who id who_id
text what id what_id
# Display a menu, if given.
if items:
vbox:
id "menu"
for caption, action, chosen in items:
if action:
button:
style "nvl_menu_choice_button"
action action
text caption style "nvl_menu_choice"
else:
text caption style "nvl_dialogue"
add SideImage() xalign 0.0 yalign 1.0
use quick_menu
##############################################################################
# Main Menu
#
# Screen that's used to display the main menu, when Ren'Py first starts
# http://www.renpy.org/doc/html/screen_special.html#main-menu
screen main_menu():
# This ensures that any other menu screen is replaced.
tag menu
# The background of the main menu.
window:
style "mm_root"
# The main menu buttons.
frame:
style_group "mm"
xalign .98
yalign .98
has vbox
textbutton _("Start Game") action Start()
textbutton _("Load Game") action ShowMenu("load")
textbutton _("Preferences") action ShowMenu("preferences")
textbutton _("Help") action Help()
textbutton _("Quit") action Quit(confirm=False)
init -2:
# Make all the main menu buttons be the same size.
style mm_button:
size_group "mm"
##############################################################################
# Navigation
#
# Screen that's included in other screens to display the game menu
# navigation and background.
# http://www.renpy.org/doc/html/screen_special.html#navigation
screen navigation():
# The background of the game menu.
window:
style "gm_root"
# The various buttons.
frame:
style_group "gm_nav"
xalign .98
yalign .98
has vbox
textbutton _("Return") action Return()
textbutton _("Preferences") action ShowMenu("preferences")
textbutton _("Save Game") action ShowMenu("save")
textbutton _("Load Game") action ShowMenu("load")
textbutton _("Main Menu") action MainMenu()
textbutton _("Help") action Help()
textbutton _("Quit") action Quit()
init -2:
# Make all game menu navigation buttons the same size.
style gm_nav_button:
size_group "gm_nav"
##############################################################################
# Save, Load
#
# Screens that allow the user to save and load the game.
# http://www.renpy.org/doc/html/screen_special.html#save
# http://www.renpy.org/doc/html/screen_special.html#load
# Since saving and loading are so similar, we combine them into
# a single screen, file_picker. We then use the file_picker screen
# from simple load and save screens.
screen file_picker():
frame:
style "file_picker_frame"
has vbox
# The buttons at the top allow the user to pick a
# page of files.
hbox:
style_group "file_picker_nav"
textbutton _("Previous"):
action FilePagePrevious()
textbutton _("Auto"):
action FilePage("auto")
textbutton _("Quick"):
action FilePage("quick")
for i in range(1, 9):
textbutton str(i):
action FilePage(i)
textbutton _("Next"):
action FilePageNext()
$ columns = 2
$ rows = 5
# Display a grid of file slots.
grid columns rows:
transpose True
xfill True
style_group "file_picker"
# Display ten file slots, numbered 1 - 10.
for i in range(1, columns * rows + 1):
# Each file slot is a button.
button:
action FileAction(i)
xfill True
has hbox
# Add the screenshot.
add FileScreenshot(i)
$ file_name = FileSlotName(i, columns * rows)
$ file_time = FileTime(i, empty=_("Empty Slot."))
$ save_name = FileSaveName(i)
text "[file_name]. [file_time!t]\n[save_name!t]"
key "save_delete" action FileDelete(i)
screen save():
# This ensures that any other menu screen is replaced.
tag menu
use navigation
use file_picker
screen load():
# This ensures that any other menu screen is replaced.
tag menu
use navigation
use file_picker
init -2:
style file_picker_frame is menu_frame
style file_picker_nav_button is small_button
style file_picker_nav_button_text is small_button_text
style file_picker_button is large_button
style file_picker_text is large_button_text
##############################################################################
# Preferences
#
# Screen that allows the user to change the preferences.
# http://www.renpy.org/doc/html/screen_special.html#prefereces
screen preferences():
tag menu
# Include the navigation.
use navigation
# Put the navigation columns in a three-wide grid.
grid 3 1:
style_group "prefs"
xfill True
# The left column.
vbox:
frame:
style_group "pref"
has vbox
label _("Display")
textbutton _("Window") action Preference("display", "window")
textbutton _("Fullscreen") action Preference("display", "fullscreen")
frame:
style_group "pref"
has vbox
label _("Transitions")
textbutton _("All") action Preference("transitions", "all")
textbutton _("None") action Preference("transitions", "none")
frame:
style_group "pref"
has vbox
label _("Text Speed")
bar value Preference("text speed")
frame:
style_group "pref"
has vbox
textbutton _("Joystick...") action Preference("joystick")
# tutorial-only
frame:
style_group "pref"
has vbox
label _("Language")
textbutton "English" text_font "DejaVuSans.ttf" action Language(None)
textbutton "日本語" text_font "MTLc3m.ttf" action Language("japanese")
textbutton "한국어" text_font "NanumGothic.ttf" action Language("korean")
textbutton "Русский" text_font "DejaVuSans.ttf" action Language("russian")
textbutton "Tiếng Việt" text_font "DejaVuSans.ttf" action Language("vietnamese")
textbutton "Indonesian" text_font "DejaVuSans.ttf" action Language("indonesian")
# end-tutorial-only
vbox:
frame:
style_group "pref"
has vbox
label _("Skip")
textbutton _("Seen Messages") action Preference("skip", "seen")
textbutton _("All Messages") action Preference("skip", "all")
frame:
style_group "pref"
has vbox
textbutton _("Begin Skipping") action Skip()
frame:
style_group "pref"
has vbox
label _("After Choices")
textbutton _("Stop Skipping") action Preference("after choices", "stop")
textbutton _("Keep Skipping") action Preference("after choices", "skip")
frame:
style_group "pref"
has vbox
label _("Auto-Forward Time")
bar value Preference("auto-forward time")
if config.has_voice:
textbutton _("Wait for Voice") action Preference("wait for voice", "toggle")
vbox:
frame:
style_group "pref"
has vbox
label _("Music Volume")
bar value Preference("music volume")
frame:
style_group "pref"
has vbox
label _("Sound Volume")
bar value Preference("sound volume")
if config.sample_sound:
textbutton _("Test"):
action Play("sound", config.sample_sound)
style "soundtest_button"
if config.has_voice:
frame:
style_group "pref"
has vbox
label _("Voice Volume")
bar value Preference("voice volume")
textbutton _("Voice Sustain") action Preference("voice sustain", "toggle")
if config.sample_voice:
textbutton _("Test"):
action Play("voice", config.sample_voice)
style "soundtest_button"
init -2:
style pref_frame:
xfill True
xmargin 5
top_margin 5
style pref_vbox:
xfill True
style pref_button:
size_group "pref"
xalign 1.0
style pref_slider:
xmaximum 192
xalign 1.0
style soundtest_button:
xalign 1.0
##############################################################################
# Yes/No Prompt
#
# Screen that asks the user a yes or no question.
# http://www.renpy.org/doc/html/screen_special.html#yesno-prompt
screen yesno_prompt(message, yes_action, no_action):
modal True
window:
style "gm_root"
frame:
style_group "yesno"
xfill True
xmargin .05
ypos .1
yanchor 0
ypadding .05
has vbox:
xalign .5
yalign .5
spacing 30
label _(message):
xalign 0.5
hbox:
xalign 0.5
spacing 100
textbutton _("Yes") action yes_action
textbutton _("No") action no_action
# Right-click and escape answer "no".
key "game_menu" action no_action
init -2:
style yesno_button:
size_group "yesno"
style yesno_label_text:
text_align 0.5
layout "subtitle"
##############################################################################
# Quick Menu
#
# A screen that's included by the default say screen, and adds quick access to
# several useful functions.
screen quick_menu():
# Add an in-game quick menu.
hbox:
style_group "quick"
xalign 1.0
yalign 1.0
textbutton _("Back") action Rollback()
textbutton _("Save") action ShowMenu('save')
textbutton _("Q.Save") action QuickSave()
textbutton _("Q.Load") action QuickLoad()
textbutton _("Skip") action Skip()
textbutton _("F.Skip") action Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle")
textbutton _("Prefs") action ShowMenu('preferences')
init -2:
style quick_button:
is default
background None
xpadding 5
style quick_button_text:
is default
size 12
idle_color "#8888"
hover_color "#ccc"
selected_idle_color "#cc08"
selected_hover_color "#cc0"
insensitive_color "#4448"
-128
View File
@@ -1,128 +0,0 @@
# This file contains the script for the Ren'Py demo game. Execution starts at
# the start label.
# Declare the characters.
define e = Character(_('Eileen'), color="#c8ffc8")
init python:
tutorials = [
("tutorial_playing", _("User Experience"), "6.10.0"),
("tutorial_dialogue", _("Writing Dialogue"), "6.10.0"),
("tutorial_images", _("Adding Images"), "6.10.0"),
("tutorial_transitions", _("Transitions"), "6.99.8"),
("tutorial_music", _("Music and Sound Effects"), "6.10.0"),
("tutorial_menus", _("In-Game Menus and Python"), "6.10.0"),
("tutorial_positions", _("Screen Positions"), "6.10.0"),
("tutorial_atl", _("Animation and Transformation"), "6.10.0"),
("tutorial_video", _("Video Playback"), "6.10.0"),
("demo_transitions", _("Transition Gallery"), "6.11.1"),
("demo_imageops", _("Image Operations"), "6.5.0"),
("demo_ui", _("User Interaction"), "6.15.0"),
("demo_text", _("Fonts and Text Tags"), "6.13.0"),
("demo_character", _("Character Objects"), "6.2.0"),
("demo_layers", _("Layers & Advanced Show"), "6.17.0"),
("demo_nvlmode", _("NVL Mode"), "6.4.0"),
("demo_dynamic", _("Dynamic Displayables"), "5.6.3"),
("demo_minigame", _("Minigames"), "6.3.2"),
("demo_persistent", _("Persistent Data"), "6.7.0"),
("demo_transform", _("Transform"), "6.9.0"),
("tutorial_sprite", _("Sprites"), "6.12.0"),
]
screen tutorials:
side "c r":
area (250, 40, 548, 400)
viewport:
yadjustment adj
mousewheel True
vbox:
for label, name, ver in tutorials:
button:
action Return(label)
left_padding 20
xfill True
hbox:
text name style "button_text" min_width 420
text ver style "button_text"
null height 20
textbutton _("That's enough for now."):
xfill True
action Return(False)
bar adjustment adj style "vscrollbar"
# The game starts here.
#begin start
label start:
#end start
scene bg washington
show eileen vhappy
with dissolve
# Start the background music playing.
play music "sunflower-slow-drag.ogg"
window show
e "Hi! My name is Eileen, and I'd like to welcome you to the Ren'Py tutorial."
show eileen happy
e "In this tutorial, we'll teach you the basics of Ren'Py, so you can make games of your own. We'll also demonstrate many features, so you can see what Ren'Py is capable of."
$ tutorials_adjustment = ui.adjustment()
$ tutorials_first_time = True
label tutorials:
show eileen happy at left
with move
if tutorials_first_time:
$ e(_("What would you like to see?"), interact=False)
else:
$ e(_("Is there anything else you'd like to see?"), interact=False)
$ tutorials_first_time = False
call screen tutorials(adj=tutorials_adjustment)
show eileen happy at center
with move
if _return is False:
jump end
call expression _return from _call_expression
jump tutorials
label end:
e "Thank you for viewing this tutorial."
e "If you'd like to see a full Ren'Py game, select \"The Question\" in the launcher."
e "You can download new versions of Ren'Py from {a=http://www.renpy.org/}http://www.renpy.org/{/a}. For help and discussion, check out the {a=http://lemmasoft.renai.us/forums/}Lemma Soft Forums{/a}."
e "We'd like to thank Piroshki for contributing my sprites, Mugenjohncel for Lucy and the band, and Jake for the magic circle."
e "The background music is \"Sunflower Slow Drag\", by Scott Joplin and Scott Hayden, performed by the United States Marine Band. The concert music is by Alessio."
show eileen vhappy
e "We look forward to seeing what you can make with Ren'Py. Have fun!"
window hide
# Returning from the top level quits the game.
return
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

-213
View File
@@ -1,213 +0,0 @@
testcase default:
"Start Game"
click until label tutorials
call user_experience
call dialogue
call images
call transitions
call music_and_sound
call menus
call positions
call atl
call video
call transition_gallery
call image_operations
call user_interaction
call fonts
# Scroll the bar down.
"Bar" pos (5, 1.0)
call character_objects
call layers
call nvl_mode
call dynamic
call minigames
call persistent
call transforms
call sprites
"That's enough for now."
click until "Quit"
pause .6 # Wait out the main menu transition.
"Quit"
testcase quick:
"Start Game"
click until label tutorials
# Scroll the bar down.
"Bar" pos (5, 1.0)
testcase user_experience:
"User Experience"
click until "Yes."
# Dialogue after menu.
click
click
click
# Rollback to the menu.
click button 4
click button 4
click button 4
click button 4
# Roll forward.
click button 5
click button 5
# Back again.
click button 4
click button 4
# Roll forward.
type PAGEDOWN
type PAGEDOWN
# Back again.
type PAGEUP
type PAGEUP
"No."
click until label tutorials
testcase dialogue:
"Writing Dialogue"
click until label tutorials
testcase images:
"Adding Images"
click until label tutorials
testcase transitions:
"Transitions"
click until label tutorials
testcase music_and_sound:
"Music and Sound Effects"
click until label tutorials
testcase menus:
"In-Game Menus and Python"
click until "Yes, I do."
click until label tutorials
testcase positions:
"Screen Positions"
click until "xpos .75 ypos .25"
click until label tutorials
testcase atl:
"Animation and Transformation"
click until label tutorials
testcase video:
"Video Playback"
click until label tutorials
testcase transition_gallery:
"Transition Gallery"
click until "Simple"
click until "ImageDissolve"
click until "MoveTransition"
click until "CropMove"
click until "PushMove"
click until "AlphaDissolve"
click until "something else"
click until label tutorials
testcase image_operations:
"Image Operations"
click until label tutorials
testcase user_interaction:
"User Interaction"
click until "Yes."
click
click
type "Tom"
type BACKSPACE
type "m"
type LEFT
type RIGHT
type "\n"
click until "art"
click until "We also support viewports"
click
# At the viewport screen.
drag [ (400, 400), (200, 200) ]
drag [ (400, 400), (200, 200) ]
drag [ (400, 400), (200, 200) ]
drag [ (400, 400), (200, 200) ]
drag [ (200, 200), (400, 400) ]
drag [ (200, 200), (400, 400) ]
drag [ (200, 200), (400, 400) ]
drag [ (200, 200), (400, 400) ]
drag [ (0.0, 0.5), (1.0, 0.5), (0.0, 0.5) ] pattern "viewport horizontal scrollbar"
drag [ (0.5, 0.0), (0.5, 1.0), (0.5, 0.0) ] pattern "viewport vertical scrollbar"
"Dismiss"
# Keep out of the corners so we don't hit the quick menu buttons.
move (.95, .95)
pause 1.0
move (0.05, 0.05)
pause 1.0
move (0.5, 0.5)
pause .1
click until "Continue"
click until label tutorials
testcase fonts:
"Fonts and Text Tags"
click until label tutorials
testcase character_objects:
"Character Objects"
click until label tutorials
testcase layers:
"Layers & Advanced Show"
click until label tutorials
testcase nvl_mode:
"NVL Mode"
click until "Yes."
click until label tutorials
testcase dynamic:
"Dynamic Displayables"
click until label tutorials
testcase minigames:
"Minigames"
$ _test.timeout = 60.0
$ _test.force = True
click always until "No thanks."
$ _test.timeout = 5.0
$ _test.force = False
click until label tutorials
testcase persistent:
"Persistent Data"
click until label tutorials
testcase transforms:
"Transform"
click until "A Working Button"
click until label tutorials
testcase sprites:
"Sprites"
click until label tutorials
-743
View File
@@ -1,743 +0,0 @@
translate None strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
# 00action_file.rpy:235
old "%b %d, %H:%M"
new "%b %d, %H:%M"
# 00action_file.rpy:569
old "Page {}"
new "Page {}"
# 00action_file.rpy:569
old "Automatic saves"
new "Automatic saves"
# 00action_file.rpy:569
old "Quick saves"
new "Quick saves"
# 00action_file.rpy:820
old "Quick save complete."
new "Quick save complete."
# 00gui.rpy:227
old "Are you sure?"
new "Are you sure?"
# 00gui.rpy:228
old "Are you sure you want to delete this save?"
new "Are you sure you want to delete this save?"
# 00gui.rpy:229
old "Are you sure you want to overwrite your save?"
new "Are you sure you want to overwrite your save?"
# 00gui.rpy:230
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
# 00gui.rpy:231
old "Are you sure you want to quit?"
new "Are you sure you want to quit?"
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
new "Are you sure you want to begin skipping?"
# 00gui.rpy:235
old "Are you sure you want to skip to the next choice?"
new "Are you sure you want to skip to the next choice?"
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
# 00keymap.rpy:251
old "Saved screenshot as %s."
new "Saved screenshot as %s."
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
# 00library.rpy:179
old "Skip Mode"
new "Skip Mode"
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Clipboard voicing enabled. Press 'shift+C' to disable."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Self-voicing enabled. Press 'v' to disable."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
# 00updater.rpy:373
old "The Ren'Py Updater is not supported on mobile devices."
new "The Ren'Py Updater is not supported on mobile devices."
# 00updater.rpy:492
old "An error is being simulated."
new "An error is being simulated."
# 00updater.rpy:668
old "Either this project does not support updating, or the update status file was deleted."
new "Either this project does not support updating, or the update status file was deleted."
# 00updater.rpy:682
old "This account does not have permission to perform an update."
new "This account does not have permission to perform an update."
# 00updater.rpy:685
old "This account does not have permission to write the update log."
new "This account does not have permission to write the update log."
# 00updater.rpy:710
old "Could not verify update signature."
new "Could not verify update signature."
# 00updater.rpy:981
old "The update file was not downloaded."
new "The update file was not downloaded."
# 00updater.rpy:999
old "The update file does not have the correct digest - it may have been corrupted."
new "The update file does not have the correct digest - it may have been corrupted."
# 00updater.rpy:1055
old "While unpacking {}, unknown type {}."
new "While unpacking {}, unknown type {}."
# 00updater.rpy:1399
old "Updater"
new "Updater"
# 00updater.rpy:1406
old "An error has occured:"
new "An error has occured:"
# 00updater.rpy:1408
old "Checking for updates."
new "Checking for updates."
# 00updater.rpy:1410
old "This program is up to date."
new "This program is up to date."
# 00updater.rpy:1412
old "[u.version] is available. Do you want to install it?"
new "[u.version] is available. Do you want to install it?"
# 00updater.rpy:1414
old "Preparing to download the updates."
new "Preparing to download the updates."
# 00updater.rpy:1416
old "Downloading the updates."
new "Downloading the updates."
# 00updater.rpy:1418
old "Unpacking the updates."
new "Unpacking the updates."
# 00updater.rpy:1420
old "Finishing up."
new "Finishing up."
# 00updater.rpy:1422
old "The updates have been installed. The program will restart."
new "The updates have been installed. The program will restart."
# 00updater.rpy:1424
old "The updates have been installed."
new "The updates have been installed."
# 00updater.rpy:1426
old "The updates were cancelled."
new "The updates were cancelled."
# 00updater.rpy:1441
old "Proceed"
new "Proceed"
# 00updater.rpy:1444
old "Cancel"
new "Cancel"
# 00compat.rpy:202
old "Fullscreen"
new "Fullscreen"
# 00gallery.rpy:563
old "Image [index] of [count] locked."
new "Image [index] of [count] locked."
# 00gallery.rpy:583
old "prev"
new "prev"
# 00gallery.rpy:584
old "next"
new "next"
# 00gallery.rpy:585
old "slideshow"
new "slideshow"
# 00gallery.rpy:586
old "return"
new "return"
# 00gltest.rpy:64
old "Graphics Acceleration"
new "Graphics Acceleration"
# 00gltest.rpy:70
old "Automatically Choose"
new "Automatically Choose"
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Force Angle/DirectX Renderer"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Force OpenGL Renderer"
# 00gltest.rpy:83
old "Force Software Renderer"
new "Force Software Renderer"
# 00gltest.rpy:89
old "Gamepad"
new "Gamepad"
# 00gltest.rpy:93
old "Enable"
new "Enable"
# 00gltest.rpy:97
old "Disable"
new "Disable"
# 00gltest.rpy:103
old "Calibrate"
new "Calibrate"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
new "Changes will take effect the next time this program is run."
# 00gltest.rpy:114
old "Quit"
new "Quit"
# 00gltest.rpy:119
old "Return"
new "Return"
# 00gltest.rpy:141
old "Performance Warning"
new "Performance Warning"
# 00gltest.rpy:146
old "This computer is using software rendering."
new "This computer is using software rendering."
# 00gltest.rpy:148
old "This computer is not using shaders."
new "This computer is not using shaders."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
new "This computer is displaying graphics slowly."
# 00gltest.rpy:152
old "This computer has a problem displaying graphics: [problem]."
new "This computer has a problem displaying graphics: [problem]."
# 00gltest.rpy:157
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
# 00gltest.rpy:159
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
# 00gltest.rpy:164
old "Update DirectX"
new "Update DirectX"
# 00gltest.rpy:170
old "Continue, Show this warning again"
new "Continue, Show this warning again"
# 00gltest.rpy:174
old "Continue, Don't show warning again"
new "Continue, Don't show warning again"
# 00gltest.rpy:192
old "Updating DirectX."
new "Updating DirectX."
# 00gltest.rpy:196
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
# 00gltest.rpy:200
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
# 00gltest.rpy:204
old "When setup finishes, please click below to restart this program."
new "When setup finishes, please click below to restart this program."
# 00gltest.rpy:206
old "Restart"
new "Restart"
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
# _errorhandling.rpym:504
old "Open Traceback"
new "Open Traceback"
# _errorhandling.rpym:506
old "Opens the traceback.txt file in a text editor."
new "Opens the traceback.txt file in a text editor."
# _errorhandling.rpym:508
old "Copy to Clipboard"
new "Copy to Clipboard"
# _errorhandling.rpym:510
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
# _errorhandling.rpym:528
old "An exception has occurred."
new "An exception has occurred."
# _errorhandling.rpym:547
old "Rollback"
new "Rollback"
# _errorhandling.rpym:549
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
# _errorhandling.rpym:552
old "Ignore"
new "Ignore"
# _errorhandling.rpym:554
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignores the exception, allowing you to continue. This often leads to additional errors."
# _errorhandling.rpym:557
old "Reload"
new "Reload"
# _errorhandling.rpym:559
old "Reloads the game from disk, saving and restoring game state if possible."
new "Reloads the game from disk, saving and restoring game state if possible."
# _errorhandling.rpym:569
old "Quits the game."
new "Quits the game."
# _errorhandling.rpym:591
old "Parsing the script failed."
new "Parsing the script failed."
# _errorhandling.rpym:615
old "Open Parse Errors"
new "Open Parse Errors"
# _errorhandling.rpym:617
old "Opens the errors.txt file in a text editor."
new "Opens the errors.txt file in a text editor."
# _errorhandling.rpym:621
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
# _developer/developer.rpym:38
old "Developer Menu"
new "Developer Menu"
# _developer/developer.rpym:43
old "Reload Game (Shift+R)"
new "Reload Game (Shift+R)"
# _developer/developer.rpym:45
old "Console (Shift+O)"
new "Console (Shift+O)"
# _developer/developer.rpym:47
old "Variable Viewer"
new "Variable Viewer"
# _developer/developer.rpym:49
old "Theme Test"
new "Theme Test"
# _developer/developer.rpym:51
old "Image Location Picker"
new "Image Location Picker"
# _developer/developer.rpym:53
old "Filename List"
new "Filename List"
# _developer/developer.rpym:57
old "Show Image Load Log"
new "Show Image Load Log"
# _developer/developer.rpym:60
old "Hide Image Load Log"
new "Hide Image Load Log"
# _developer/developer.rpym:95
old "Nothing to inspect."
new "Nothing to inspect."
# _developer/developer.rpym:217
old "Return to the developer menu"
new "Return to the developer menu"
# _developer/developer.rpym:373
old "Rectangle: %r"
new "Rectangle: %r"
# _developer/developer.rpym:378
old "Mouse position: %r"
new "Mouse position: %r"
# _developer/developer.rpym:383
old "Right-click or escape to quit."
new "Right-click or escape to quit."
# _developer/developer.rpym:412
old "Rectangle copied to clipboard."
new "Rectangle copied to clipboard."
# _developer/developer.rpym:415
old "Position copied to clipboard."
new "Position copied to clipboard."
# _developer/developer.rpym:524
old "✔ "
new "✔ "
# _developer/developer.rpym:527
old "✘ "
new "✘ "
# _developer/developer.rpym:532
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Displayable Inspector"
# _developer/inspector.rpym:61
old "Size"
new "Size"
# _developer/inspector.rpym:65
old "Style"
new "Style"
# _developer/inspector.rpym:71
old "Location"
new "Location"
# _developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Inspecting Styles of [displayable_name!q]"
# _developer/inspector.rpym:139
old "displayable:"
new "displayable:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
new " (no properties affect the displayable)"
# _developer/inspector.rpym:147
old " (default properties omitted)"
new " (default properties omitted)"
# _developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() failed>"
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Press <esc> to exit console. Type help for help.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
new "Ren'Py script enabled."
# 00console.rpy:188
old "Ren'Py script disabled."
new "Ren'Py script disabled."
# 00console.rpy:398
old "help: show this help"
new "help: show this help"
# 00console.rpy:403
old "commands:\n"
new "commands:\n"
# 00console.rpy:413
old " <renpy script statement>: run the statement\n"
new " <renpy script statement>: run the statement\n"
# 00console.rpy:415
old " <python expression or statement>: run the expression or statement"
new " <python expression or statement>: run the expression or statement"
# 00console.rpy:423
old "clear: clear the console history"
new "clear: clear the console history"
# 00console.rpy:427
old "exit: exit the console"
new "exit: exit the console"
# 00console.rpy:435
old "load <slot>: loads the game from slot"
new "load <slot>: loads the game from slot"
# 00console.rpy:448
old "save <slot>: saves the game in slot"
new "save <slot>: saves the game in slot"
# 00console.rpy:459
old "reload: reloads the game, refreshing the scripts"
new "reload: reloads the game, refreshing the scripts"
# 00console.rpy:467
old "watch <expression>: watch a python expression"
new "watch <expression>: watch a python expression"
# 00console.rpy:493
old "unwatch <expression>: stop watching an expression"
new "unwatch <expression>: stop watching an expression"
# 00console.rpy:519
old "unwatchall: stop watching all expressions"
new "unwatchall: stop watching all expressions"
# 00console.rpy:536
old "jump <label>: jumps to label"
new "jump <label>: jumps to label"
-15
View File
@@ -1,15 +0,0 @@
translate indonesian strings:
# game/about.rpy:21
old "[version!q]"
new "[version!q]"
# game/about.rpy:25
old "View license"
new "Lihat Lisensi"
# game/about.rpy:27
old "Back"
new "Kembali"
@@ -1,23 +0,0 @@
translate indonesian strings:
# game/add_file.rpy:7
old "FILENAME"
new "NAMAFILE"
# game/add_file.rpy:7
old "Enter the name of the script file to create."
new "Masukkan nama script file yang akan di buat"
# game/add_file.rpy:10
old "The filename must have the .rpy extension."
new "Nama file harus memlikili extensi .rpy"
# game/add_file.rpy:18
old "The file already exists."
new "File sudah ada"
# game/add_file.rpy:21
old "# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n"
new "# Ren'py secara otomatis meload semua script dengan akhiran .rpy. Untuk menggunakan\n# file ini, silahkan define label dan jump ke file itu dari file lain.\n"
@@ -1,19 +0,0 @@
# game/demo_dynamic.rpy:27
translate indonesian demo_dynamic_b72548ea:
# e "The DynamicDisplayable function lets you change what's displayed over the course of an interaction."
e "Fungsi DynamicDisplayable memungkinkan kamu untuk mengubah apa yang di tampilkan dalam interaksi."
# game/demo_dynamic.rpy:31
translate indonesian demo_dynamic_0276dbb9:
# e "This makes it possible to display things like countdown timers and progress bars."
e "Ini membuat kamu bisa menampilkan sesuatu seperti 'timer hitung mundur dan bar progress'."
# game/demo_dynamic.rpy:33
translate indonesian demo_dynamic_4cabf539:
# e "Remember, people read at different speeds, so it's probably better to use this for flavor, rather then to make games time-sensitive."
e "Ingat, setiap orang membaca dengan kecepatan yang berbeda, jadi kamu sebaiknya mengunakan ini sebagai bumbu, daripada membuat game menjadi lebih pendek."
@@ -1,181 +0,0 @@
# game/demo_imageops.rpy:69
translate indonesian demo_imageops_0e0e59e0:
# e "Image operations allow us to manipulate images as they are loaded in."
e "Operasi gambar memungkinkan kita untuk memanipulasi gambar ketika mereka di load."
# game/demo_imageops.rpy:71
translate indonesian demo_imageops_2dfc0c2e:
# e "They're efficient, as they are only evaluated when an image is first loaded."
e "Mereka sangat efisien, karena mereka hanya di jalankan pada saat pertama gambar di load."
# game/demo_imageops.rpy:73
translate indonesian demo_imageops_9ee5a075:
# e "This way, there's no extra work that needs to be done when each frame is drawn to the screen."
e "Dengan cara ini, tidak ada perkerjaan extra yang harus di lakukan ketika setiap frame di gambar ke layar."
# game/demo_imageops.rpy:80
translate indonesian demo_imageops_3f73f4c2:
# e "Let me show you a test image, the Ren'Py logo."
e "Ijinkan aku menunjukkan kamu gambar percobaan, logo Ren'Py."
# game/demo_imageops.rpy:82
translate indonesian demo_imageops_e3887927:
# e "We'll be applying some image operations to it, to see how they can be used."
e "Kita akan mengaply beberapa operator gambar, untuk melihat bagaimana mereka dapat digunakan."
# game/demo_imageops.rpy:87
translate indonesian demo_imageops_d05ba9d9:
# e "The im.Crop operation can take the image, and chop it up into a smaller image."
e "Operasi im.Corp dapat mengambil gambar, dan memotong nya ke gambar yang lebih kecil."
# game/demo_imageops.rpy:92
translate indonesian demo_imageops_f57f6496:
# e "The im.Composite operation lets us take multiple images, and draw them into a single image."
e "Oierasi im.Composite memungkinkan kita mengambil banyak gambar, dan mengambar nya ke satu gambar."
# game/demo_imageops.rpy:94
translate indonesian demo_imageops_634bc9da:
# e "While you can do this by showing multiple images, this is often more efficient."
e "Sementara kamu melakukan ini dengan menampilkan beberapa gambar, ini seringkali lebih efisien."
# game/demo_imageops.rpy:99
translate indonesian demo_imageops_3a9392e4:
# e "There's also LiveComposite, which is less efficent, but allows for animation."
e "Ada juga LiveComposite, yang kurang efisien, tapi mengijinkan animasi."
# game/demo_imageops.rpy:101
translate indonesian demo_imageops_aab0c08f:
# e "It isn't really an image operation, but we don't know where else to put it."
e "Ini bukan operasi gambar yang sebenarnya, tapi kita tidak tau dimana lagi akan menggunakan nya."
# game/demo_imageops.rpy:106
translate indonesian demo_imageops_23cd24da:
# e "The im.Scale operation lets us scale an image to a particular size."
e "Operasi im.Scale mengijinkan kita mengubah ukuran gambar ke ukuran tertentu."
# game/demo_imageops.rpy:111
translate indonesian demo_imageops_dcaf5d6b:
# e "im.FactorScale lets us do the same thing, except to a factor of the original size."
e "im.FactorScale membuat kita melakukan hal yang sama, kecuali penggunaan mengubah ke ukuran semula."
# game/demo_imageops.rpy:116
translate indonesian demo_imageops_eeaec24a:
# e "The im.Map operation lets us mess with the red, green, blue, and alpha channels of an image."
e "Operasi im.Map memungkinkan kita untuk bermain dengan merah, hijau, biru dan alpha chanel dari gambar."
# game/demo_imageops.rpy:118
translate indonesian demo_imageops_a2ed064d:
# e "In this case, we removed all the red from the image, leaving only the blue and green channels."
e "Dalam kasus ini, kita menghilangkan semua merah, dan hanya menghilangkan chanel hijau saja."
# game/demo_imageops.rpy:125
translate indonesian demo_imageops_77b0a263:
# e "The im.Recolor operation can do the same thing, but is more efficient when we're linearly mapping colors."
e "Operasi im.Recolor melakukan hal yang sama, kecuali ini lebih efisien, ketika kita secara linear memap warna."
# game/demo_imageops.rpy:130
translate indonesian demo_imageops_360723bc:
# e "The im.Twocolor operation lets you take a black and white image, like this one..."
e "Operasi im.Twocolor memungkinkan kamu untuk mengambil hitam dan putih gambar, seperti yang satu ini..."
# game/demo_imageops.rpy:135
translate indonesian demo_imageops_0948998c:
# e "... and assign colors to replace black and white."
e "... dan mengaplikasikan warna untuk menggantikan hitam dan putih."
# game/demo_imageops.rpy:140
translate indonesian demo_imageops_75522403:
# e "The im.MatrixColor operation lets you use a matrix to alter the colors. With the right matrix, you can desaturate colors..."
e "Operasi im.MatrixColor memungkinkan kamu untuk menggunakan matrix untuk mengubah warna. dengan matrix yang benar, kamu bisa mentidaksatruasikan warna."
# game/demo_imageops.rpy:145
translate indonesian demo_imageops_6fe260b9:
# e "... tint the image blue..."
e "... mewarnai gambar biru..."
# game/demo_imageops.rpy:150
translate indonesian demo_imageops_85c10beb:
# e "... rotate the hue... "
e "... memutar rona"
# game/demo_imageops.rpy:155
translate indonesian demo_imageops_09d2d97f:
# e "... or invert the colors, for a kinda scary look."
e "... atau menginvert warna, untuk tampilan menakutkan."
# game/demo_imageops.rpy:160
translate indonesian demo_imageops_6dd8f586:
# e "It can even adjust brightness and contrast."
e "Itu juga dapat mengatur kecerahan dan kontras."
# game/demo_imageops.rpy:162
translate indonesian demo_imageops_ba8ddf3e:
# e "We've made some of the most common matrices into image operators."
e "Kita telah membuat matrices yang paling sering ke operator gambar."
# game/demo_imageops.rpy:167
translate indonesian demo_imageops_4c62de6f:
# e "im.Grayscale can make an image grayscale..."
e "im.Grayscale dapat membuat gambar menjadi grayscale..."
# game/demo_imageops.rpy:172
translate indonesian demo_imageops_7d471e4b:
# e "... while im.Sepia can sepia-tone an image."
e "... sedangkan im.Sepia dapat membuat gambar sepia-tone."
# game/demo_imageops.rpy:179
translate indonesian demo_imageops_59ca3a66:
# e "The im.Alpha operation can adjust the alpha channel on an image, making things partially transparent."
e "Operasi im.Alpha dapat mengatur chanel alpha pada gambar, membuatnya sebagian transparan."
# game/demo_imageops.rpy:184
translate indonesian demo_imageops_514a55db:
# e "It's useful if a character just happens to be ghost."
e "Ini berguna jika karakter adalah hantu."
# game/demo_imageops.rpy:190
translate indonesian demo_imageops_05fc1200:
# e "But that isn't the case with me."
e "Tapi itu tidak berguna pada ku."
# game/demo_imageops.rpy:197
translate indonesian demo_imageops_cf7fbb57:
# e "Finally, there's im.Flip, which can flip an image horizontally or vertically."
e "Akhirnya, im.Flip, yang dapat membalikkan gambar secara vertikal atau horizontal."
# game/demo_imageops.rpy:199
translate indonesian demo_imageops_49161c26:
# e "I think the less I say about this, the better."
e "Aku pikir lebih sedikit aku berkata tentang ini, lebih baik."
@@ -1,67 +0,0 @@
# game/demo_layers.rpy:15
translate indonesian demo_layers_c4715eb5:
# e "Ren'Py lets you define layers, and show images on specific layers."
e "Ren'Py memungkinkan kamu untuk mendefine layer, dan menampilkan gambar pada layer tersebut."
# game/demo_layers.rpy:26
translate indonesian demo_layers_c385f69e:
# e "The \"onlayer\" clause of the scene, show, and hide statements lets us pick which layers the commands affect."
e "Klausa \"onlayer\" layar, menunjukan, dan menyembunyikan pernyataan memungkinkan kita memilih mana layer yang berefek pada perintah."
# game/demo_layers.rpy:28
translate indonesian demo_layers_89a87205:
# e "As you can see, layers do not have to take up the entire screen. When a layer doesn't, images are clipped to the layer."
e "Seperti yang dapat kamu lihat, layer tidak harus memakai seluruh laya. Ketika layer tidak, gambar di cantumkan ke layer."
# game/demo_layers.rpy:34
translate indonesian demo_layers_72b6169a:
# e "The \"as\" clause lets you change the tag of an image."
e "Klausa \"as\" memungkinkan kamu untuk mengubah tag dari gambar."
# game/demo_layers.rpy:43
translate indonesian demo_layers_31adea8e:
# e "This is useful when you want to show two copies of the same image."
e "Ini berguna ketika kamu ingin menunjukan dua salinan dari gambar yang sama."
# game/demo_layers.rpy:45
translate indonesian demo_layers_2659ae91:
# e "Or if a character has a twin."
e "Atau jika karakter punya kembaran."
# game/demo_layers.rpy:56
translate indonesian demo_layers_fa599d50:
# e "You can use \"show expression\" to show things that aren't just images, like text."
e "Kamu dapat menggunakan \"show expression\" untuk menunjukan hal yang bukan hanya gambar, seperti text."
# game/demo_layers.rpy:64
translate indonesian demo_layers_91559c86:
# e "The \"behind\" clause lets you place an image behind another."
e "Klausa \"behind\" memungkinkan kamu menaruh gambar di belakang yang lain."
# game/demo_layers.rpy:77
translate indonesian demo_layers_a983efbd:
# e "Finally, the \"show layer\" statement allows you to apply a transform to an entire layer."
e "Akhirnya pernyataan \"show layer\" memungkinkan kamu untuk mengaplikasian transfrom ke semua layer."
# game/demo_layers.rpy:90
translate indonesian demo_layers_1185c462:
# e "And that's it for layers and advanced show."
e "Dan itu dia untuk layer dan show tingkat lanjut "
translate indonesian strings:
# game/demo_layers.rpy:53
old "This is text."
new "Ini adalah text"
@@ -1,109 +0,0 @@
# game/demo_minigame.rpy:204
translate indonesian demo_minigame_03fc91ef:
# e "You may want to mix Ren'Py with other forms of gameplay. There are many ways to do this."
e "Kamu mungkin ingin mencampur Ren'Py dengan bentuk lain gameplay. Ada cara nya lho."
# game/demo_minigame.rpy:206
translate indonesian demo_minigame_8c389a44:
# e "The first is with the UI functions, which can be used to create powerful button and menu based interfaces."
e "Yang pertama dengan fungsi UI. yang dapat digunakan untuk membuat tombol dan menu interface yang powerful."
# game/demo_minigame.rpy:208
translate indonesian demo_minigame_0d5698fc:
# e "These are often enough for many simulation-style games."
e "Ini cukup untuk kebanyakan game bergaya simulasi."
# game/demo_minigame.rpy:210
translate indonesian demo_minigame_abc48e39:
# e "We also have two more ways in which Ren'Py can be extended. Both require experience with Python programming, and so aren't for the faint of heart."
e "Kita juga punya 2 cara lagi untuk memperluas Ren'Py. Keduanya memerlukan pengalaman dengan programming Python, dan tidak diperuntukan untuk yang cepat putus asa."
# game/demo_minigame.rpy:212
translate indonesian demo_minigame_4d7b5701:
# e "Renpygame is a library that allows pygame games to be run inside Ren'Py."
e "Renpygame adalah library yang dimana membuat pygame dapat di jalankan di dalam Ren'Py"
# game/demo_minigame.rpy:214
translate indonesian demo_minigame_bb13a57e:
# e "When using renpygame, Ren'Py steps out of the way and gives you total control over the user's experience."
e "Ketika menggunakan renpygame, Ren'Py membuat cara dan membuat mu memiliki kontrok penuh dari user experience."
# game/demo_minigame.rpy:216
translate indonesian demo_minigame_4f4537ea:
# e "You can get renpygame from the Frameworks page of the Ren'Py website."
e "Kamu dapat mendapatkan renpygame dari halaman Frameworks di website Ren'Py."
# game/demo_minigame.rpy:218
translate indonesian demo_minigame_b2baab12:
# e "If you want to integrate your code with Ren'Py, you can write a user-defined displayable."
e "Jika kamu ingin mengintegerasikan kodemu dengan Ren'Py, kamu dapat menulis displayable user-defined."
# game/demo_minigame.rpy:220
translate indonesian demo_minigame_9d67e41d:
# e "User-defined displayables are somewhat more limited, but integrate better with the rest of Ren'Py."
e "Displayable User-defined agak lebih terbatas, namun terintegerasi lebih baik dengan kelseluruhan Ren'Py"
# game/demo_minigame.rpy:222
translate indonesian demo_minigame_59b3fdfd:
# e "For example, one could support loading and saving while a user-defined displayable is shown."
e "Contohnya, yang satu dapat mendukung loading dan menyimpan sementara displayable user-defined di tampilkan."
# game/demo_minigame.rpy:224
translate indonesian demo_minigame_e02e509d:
# e "Now, why don't we play some pong?"
e "Sekarang, kenapa kita gak main sedikit pong?"
# game/demo_minigame.rpy:246
translate indonesian demo_minigame_pong_ce00ff63:
# e "I win!"
e "Aku menang!"
# game/demo_minigame.rpy:250
translate indonesian demo_minigame_pong_68c82e98:
# e "You won! Congratulations."
e "Selamat, Kamu menang!!."
# game/demo_minigame.rpy:255
translate indonesian demo_minigame_pong_dde7e31a:
# e "Would you like to play again?" nointeract
e "Maukah kamu bermain lagi?" nointeract
# game/demo_minigame.rpy:264
translate indonesian demo_minigame_pong_cd12159e:
# e "Remember to be careful about putting minigames in a visual novel, since not every visual novel player wants to be good at arcade games."
e "Ingat kamu harus hati hati ketika menaruh mini game di visual novel, karena tidak semua pemain visual novel mau mahir dalam bermain game arcade."
translate indonesian strings:
# game/demo_minigame.rpy:16
old "Player"
new "Pemain"
# game/demo_minigame.rpy:18
old "Click to Begin"
new "Klik untuk Mulai"
# game/demo_minigame.rpy:255
old "Sure."
new "Ya Tentu."
# game/demo_minigame.rpy:255
old "No thanks."
new "Tidak, Terimakasih."
@@ -1,125 +0,0 @@
# game/demo_nvlmode.rpy:14
translate indonesian demo_nvlmode_76b2fe88:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:17
translate indonesian demo_nvlmode_a986703b:
# nvle "NVL-style games are games that cover the full screen with text, rather then placing it in a file at the bottom of the screen."
nvle "Game gaya=NVL adalah game yang seluruh layar nya di tutup dengan text, daripada menaruh nya di bawah layar."
# game/demo_nvlmode.rpy:19
translate indonesian demo_nvlmode_37fd9ceb:
# nvle "Ren'Py ships with a file, nvl_mode.rpy, that implements NVL-style games. You're seeing an example of NVL-mode at work."
nvle "Ren'Py datang dengan file, nvl_mode.rpy, yang mengimplementasikan game bergaya-NVL,"
# game/demo_nvlmode.rpy:21
translate indonesian demo_nvlmode_66cbcf75:
# nvl clear
# nvle "To use NVL-mode, you need to define Characters with a kind=nvl."
nvl clear
nvle "Untuk menggunakan mode-NVL, kamu harus mendefine Karakter dengan 'kind=nvl'"
# game/demo_nvlmode.rpy:25
translate indonesian demo_nvlmode_ad2b8b67:
# nvle "You use 'nvl clear' to clear the screen when that becomes necessary."
nvle "Kamu harus menggunakan 'nvl clear' untuk membersihkan layar jika diperlukan."
# game/demo_nvlmode.rpy:30
translate indonesian demo_nvlmode_390a4eb1:
# nvle "The 'nvl show' and 'nvl hide' statements use transitions to show and hide the NVL window."
nvle "Pernyataan 'nvl show' dan 'nvl hide' mengunakan transisi untuk menampilkan dan menyembunyikan jendela NVL."
# game/demo_nvlmode.rpy:32
translate indonesian demo_nvlmode_74454519:
# nvle "The nvl_erase function removes a line from the screen."
nvle "fungsu 'nvl_erase' menghilangkan baris dari layar."
# game/demo_nvlmode.rpy:36
translate indonesian demo_nvlmode_5e97d841:
# nvle "Like that."
nvle "Seperti itu."
# game/demo_nvlmode.rpy:43
translate indonesian demo_nvlmode_ea2d8a07:
# nvle "The nvl_mode also supports showing menus to the user, provided they are the last thing on the screen. Understand?" nointeract
nvle "'nvl_mode' juga mendukung menampilkan menu ke pengguna, di sajikan jika mereka adalah hal terakhir di layar. Mengerti?" nointeract
# game/demo_nvlmode.rpy:49
translate indonesian demo_nvlmode_0f2b7d59:
# nvl clear
# nvle "Good!"
nvl clear
nvle "Bagus!"
# game/demo_nvlmode.rpy:53
translate indonesian demo_nvlmode_76b2fe88_1:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:57
translate indonesian demo_nvlmode_b64ad3b1:
# nvl clear
# nvle "Well, it might help if you take a look at the demo code."
nvl clear
nvle "Sekarang, ini mungkin membantu juka kamu melihat kode demo."
# game/demo_nvlmode.rpy:61
translate indonesian demo_nvlmode_76b2fe88_2:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:63
translate indonesian demo_nvlmode_edb031ab:
# eside "You can specify transitions that occur when going from NVL-mode to ADV-mode."
eside "Kamu dapat menspesifikasikan transisi yang terjadi ketika ingin berganti dari mode-NVL ke mode-ADV."
# game/demo_nvlmode.rpy:65
translate indonesian demo_nvlmode_d43b28d1:
# nvle "As well as when going from ADV-mode to NVL-mode."
nvle "Begitu juga sebaliknya, dari mode-ADV ke mode-NVL."
# game/demo_nvlmode.rpy:67
translate indonesian demo_nvlmode_f056c7ad:
# nvle "Text tags like {{w}{w} work in NVL-mode."
nvle "Tag text seperti {{w}{w} berkerja di mode-NVL."
# game/demo_nvlmode.rpy:69
translate indonesian demo_nvlmode_750cd9a1:
# extend " As does the \"extend\" special character."
extend "seperti halnya karakter spesial \"extended\"."
# game/demo_nvlmode.rpy:71
translate indonesian demo_nvlmode_146d840b:
# nvle "And that's it for NVL-mode."
nvle "Itu dia untuk mode-NVL."
translate indonesian strings:
# game/demo_nvlmode.rpy:43
old "Yes."
new "Ya."
# game/demo_nvlmode.rpy:43
old "No."
new "Tidak."
@@ -1,37 +0,0 @@
# game/demo_persistent.rpy:6
translate indonesian demo_persistent_abef5d83:
# "Ren'Py supports per-game and multi-game persistent data."
"Ren'Py mendukung presistan data per-game dan multi-game"
# game/demo_persistent.rpy:8
translate indonesian demo_persistent_539955e4:
# "Persistent data can store flags and other per-game information that should be shared between plays of a single game."
"Presistan data dapat menyimpan flag dan informasi per-game lainnya yang harus di share antara flag sigle game."
# game/demo_persistent.rpy:19
translate indonesian demo_persistent_c8164f03:
# "For example, I can tell you that you've see this line [plays] time(s) since you cleared the per-game persistent data."
"Contohnya. Aku dapat memberitahu mu bahwa kamu telah melihat line waktu [plays]. sejak kamu membersihkan date presisten per-game."
# game/demo_persistent.rpy:21
translate indonesian demo_persistent_54bc6648:
# "Multipersistent data is shared between games, which lets one game unlock features in a second."
"Data multipresisten di bagi antara game, yang memungkinkan game membuka fitur dalam hitungan detik."
# game/demo_persistent.rpy:23
translate indonesian demo_persistent_4ff5d824:
# "A sequel might play differently if the player has beaten the first game."
"Sequel dapat dimainkan berbeda jika pemain menyelesaikan game pertama."
# game/demo_persistent.rpy:35
translate indonesian demo_persistent_634f6d6d:
# "According to the multipersistent data, you've seen this line [plays] times total."
"Berdasarkan data multi presisten, kamu telah melihat total line ini [plays]"
@@ -1,61 +0,0 @@
# game/demo_transform.rpy:156
translate indonesian demo_transform_f10e08f5:
# e "The Transform function allows you to rotate, zoom, move, and adjust the alpha of a displayable."
e "Fungsu Transform memungkinkan kamu untuk memutar, perbesar, menggerakan, dan mengatur alpha dari displayable."
# game/demo_transform.rpy:158
translate indonesian demo_transform_295804e0:
# e "It does this under the control of a Python function, making it incredibly flexible at the cost of some complexity."
e "Ini di lakukan di bawah kontrol fungsi Python, membuat nya sangat fleksibel yang mengorbankan beberapa kerumitan."
# game/demo_transform.rpy:165
translate indonesian demo_transform_1afd3e7b:
# e "Here's a simple example, showing how we can change an image as it moves around the screen."
e "Ini contoh simpel, menunjukkan bagaimana kita dapat mengubah gambar sembari bergerak di sekitar layar."
# game/demo_transform.rpy:167
translate indonesian demo_transform_a5427276:
# e "A nice thing about Transform is that it's \"one price\"."
e "Hal yang bagus tentang transform yaitu \"satu harga\"."
# game/demo_transform.rpy:169
translate indonesian demo_transform_108aec8f:
# e "If you use it to do a rotation, you can zoom or adjust alpha at no additional cost."
e "Jika kamu menggunakan nya untuk melakukan putaran, kamu dapat memperbesar atau mengatur alpha tanpa biaya tambahan."
# game/demo_transform.rpy:198
translate indonesian demo_transform_55f784e4:
# e "As the python functions get more complicated, more advanced behavior is possible."
e "Semakin rumit fungsi Python, semakin tinggi juga tingkah laku nya. "
# game/demo_transform.rpy:200
translate indonesian demo_transform_43798bbe:
# e "This can include coordinating more than one Transform."
e "Ini dapat termasuk mengkoordinasi lebih dari satu Transform."
# game/demo_transform.rpy:213
translate indonesian demo_transform_3f4f14bb:
# e "Finally, transforms can be applied to buttons, and work even while the button is zoomed."
e "Akhirnya, transform dapat di aplikasikan ke tombol, dan berkerja bahkan sembari tombol di perbesar."
# game/demo_transform.rpy:218
translate indonesian demo_transform_a439ffaa:
# e "With a little Python code, transforms let you do a lot of things."
e "Dengan sedikit kode Python, transform memungkinkan kamu melakukan banyak hal."
translate indonesian strings:
# game/demo_transform.rpy:211
old "A Working Button"
new "Tombol yang Berkerja"
-155
View File
@@ -1,155 +0,0 @@
translate indonesian strings:
# game/screens.rpy:194
old "Start Game"
new "Mulai Game"
# game/screens.rpy:195
old "Load Game"
new "Muat Game"
# game/screens.rpy:196
old "Preferences"
new "Setting"
# game/screens.rpy:197
old "Help"
new "Bantuan"
# game/screens.rpy:230
old "Save Game"
new "Simpan Game"
# game/screens.rpy:232
old "Main Menu"
new "Menu Utama"
# game/screens.rpy:269
old "Auto"
new "Auto"
# game/screens.rpy:272
old "Quick"
new "Cepat"
# game/screens.rpy:361
old "Display"
new "Tampiilan"
# game/screens.rpy:362
old "Window"
new "Jendela"
# game/screens.rpy:363
old "Fullscreen"
new "Layar Penuh"
# game/screens.rpy:369
old "Transitions"
new "Transisi"
# game/screens.rpy:370
old "All"
new "Semua"
# game/screens.rpy:371
old "None"
new "Mati"
# game/screens.rpy:377
old "Text Speed"
new "Kecepatan Text"
# game/screens.rpy:384
old "Joystick..."
new "Joystick..."
# game/screens.rpy:391
old "Language"
new "Bahasa"
# game/screens.rpy:405
old "Skip"
new "Lompati"
# game/screens.rpy:406
old "Seen Messages"
new "Pesan Terlihat"
# game/screens.rpy:407
old "All Messages"
new "Semua Pesan"
# game/screens.rpy:413
old "Begin Skipping"
new "Mulai Melompat"
# game/screens.rpy:419
old "After Choices"
new "Setelah Pilihan"
# game/screens.rpy:420
old "Stop Skipping"
new "Berhenti Melompat"
# game/screens.rpy:421
old "Keep Skipping"
new "Terus Melompat"
# game/screens.rpy:427
old "Auto-Forward Time"
new "Waktu Auto-Forward"
# game/screens.rpy:431
old "Wait for Voice"
new "Tunggu untuk Suara"
# game/screens.rpy:438
old "Music Volume"
new "Volume Musik"
# game/screens.rpy:445
old "Sound Volume"
new "Volume Suara"
# game/screens.rpy:449
old "Test"
new "Tes"
# game/screens.rpy:458
old "Voice Volume"
new "Volume Aktor"
# game/screens.rpy:461
old "Voice Sustain"
new "Pertahankan Suara"
# game/screens.rpy:522
old "Yes"
new "Ya"
# game/screens.rpy:523
old "No"
new "Tidak"
# game/screens.rpy:552
old "Save"
new "Simpan"
# game/screens.rpy:553
old "Q.Save"
new "Simpan.C"
# game/screens.rpy:554
old "Q.Load"
new "Load.C"
# game/screens.rpy:556
old "F.Skip"
new "Lompati.C"
# game/screens.rpy:558
old "Prefs"
new "Setting"
@@ -1,49 +0,0 @@
# ../tutorial_sprite.rpyc:63
translate indonesian tutorial_sprite_d2ca6a0c:
# e "Ren'Py supports a sprite system, which allows many similar objects to be shown on the screen at once."
e "Ren'Py mendukung sistem sprite, yang memungkinkan objek yang mirip di tampilkan pada layar pada waktu yang bersamaan."
# ../tutorial_sprite.rpyc:70
translate indonesian tutorial_sprite_40df8d5d:
# e "The background behind me consists of one hundred and seventy-five stars, being moved at several different speeds, to give a starflight effect."
e "Background di belakang ku terdiri dari seratus dan tujuh puluh bintang, yang sedang digerakan di kecepatan yang berbeda, untuk memberika efek bintang bergerak."
# ../tutorial_sprite.rpyc:72
translate indonesian tutorial_sprite_29c5e523:
# e "The OpenGL system should be able to animate this smoothly, but you might see a bit of stuttering if your computer is using software."
e "Sistim OpenGL seharusnya bisa menganimasikan nya dengan halus, tapi kamu mungkin melihat sedikit stutter jika komputer mu menggunkan software."
# ../tutorial_sprite.rpyc:74
translate indonesian tutorial_sprite_90927173:
# e "You'll need to decide which older systems to support."
e "Kamu harus memutuskan mana yang di dukung oleh sistem yang lebih tua."
# ../tutorial_sprite.rpyc:80
translate indonesian tutorial_sprite_9afa1448:
# e "The sprite manager requires you to write a python function to move the sprites around."
e "Manager sprite mengharuskan kamu untuk menulis fungsi python untuk menggerakan sprites."
# ../tutorial_sprite.rpyc:84
translate indonesian tutorial_sprite_2c9a79ad:
# e "In many cases, all you need is something moving around the screen - like cherry blossoms, or snow."
e "Di banyak kasus, yang kamu butuhkan hanyalah sesuatu yang bergerak di sekitar layar, seperti bunga sakura, atau salju."
# ../tutorial_sprite.rpyc:86
translate indonesian tutorial_sprite_595d03b3:
# e "That's what the snowblossom function gives you - a simple way to have things falling from the top of the screen."
e "Itulah yang didapatkan dari fungsi snowblossom - cara simpel untuk membuat sesuatu berjatuhan dari atas layar."
# ../tutorial_sprite.rpyc:91
translate indonesian tutorial_sprite_4f82c848:
# e "And that's it for sprites."
e "Sekian untuk sprites."
@@ -1,43 +0,0 @@
# ../tutorial_video.rpyc:11
translate indonesian tutorial_video_f34a17f5:
# e "Ren'Py supports playing movies. There are two ways of doing this."
e "Ren'Py mendukung memainkan film. Ada dua cara untuk melakukan ini."
# ../tutorial_video.rpyc:13
translate indonesian tutorial_video_4aefd413:
# e "The first way allows you to show a movie as an image, along with every other image that's displayed on the screen."
e "Cara yang pertama memungkinkan kamu untuk menampilkan film sebagak gambar, beserta dengan setiap gambar lainya yang di tampilkan di layar."
# ../tutorial_video.rpyc:17
translate indonesian tutorial_video_b927d009:
# e "To do this, we first have to define an image to be a Movie displayable. Movie displayables require a size argument, and also use properties to position themselves on the screen."
e "Untuk melakikan ini, pertama kita harus mendefine gambar untuk menjadi film displayable. "
# ../tutorial_video.rpyc:27
translate indonesian tutorial_video_fbaa71e4:
# e "Then, we can show the movie displayable, which starts the movie playing."
e "Selanjutnya, kita dapat menampilkan displayable film, yang membuat film diputar."
# ../tutorial_video.rpyc:35
translate indonesian tutorial_video_bbbb242d:
# e "When we no longer want to play the movie, we can hide it."
e "Ketika kita tidak ingin memainkan film nya lagi, kita dapat menyembunyikan nya."
# ../tutorial_video.rpyc:39
translate indonesian tutorial_video_a66b154c:
# e "The other way to show a movie is with the renpy.movie_cutscene python function. This shows the movie fullscreen, either until it ends or until the user clicks."
e "Cara lain untuk menampilkan film adalah dengan fungsi python renpy.movie_cutscene. Ini menampilkan film dalam model fullscreen, sampai selesai atau sampai pengguna mengklik."
# ../tutorial_video.rpyc:47
translate indonesian tutorial_video_7b2dc95f:
# e "And that's all there is when it comes to movie playback in Ren'Py."
e "Dan itu saja tentang playback film di Ren'Py"
@@ -1,17 +0,0 @@
MTLc3m.ttf is destributed under Apache License 2.0.
--------------------------------
Copyright (C) 2008 The Android Open Source Project
Copyright (C) 2010 MOTOYA CO.,LTD.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-493
View File
@@ -1,493 +0,0 @@
# Translation updated at 2013-02-18 11:40
translate japanese strings:
# renpy/common/00library.rpy:77
old "Skip Mode"
new "スキップモード"
# renpy/common/00library.rpy:80
old "Fast Skip Mode"
new "高速スキップモード"
# renpy/common/00updater.rpy:1255
old "Updater"
new "アップデーター"
# renpy/common/00updater.rpy:1264
old "This program is up to date."
new "このプログラムは最新の状態です。"
# renpy/common/00updater.rpy:1266
old "[u.version] is available. Do you want to install it?"
new "[u.version] が利用可能です。インストールしますか?"
# renpy/common/00updater.rpy:1268
old "Preparing to download the updates."
new "ダウンロードする準備をしています。"
# renpy/common/00updater.rpy:1270
old "Downloading the updates."
new "アップデートをダウンロードしています。"
# renpy/common/00updater.rpy:1272
old "Unpacking the updates."
new "アップデートを展開しています。"
# renpy/common/00updater.rpy:1276
old "The updates have been installed. The program will restart."
new "アップデートがインストールされました。プログラムを再起動します。"
# renpy/common/00updater.rpy:1278
old "The updates have been installed."
new "アップデートが完了しました。"
# renpy/common/00updater.rpy:1280
old "The updates were cancelled."
new "アップデートがキャンセルされました。"
# renpy/common/_compat/preferences.rpym:411
old "Joystick Mapping"
new "ジョイスティックの割り当て"
# renpy/common/00layout.rpy:421
old "Are you sure?"
new "続けますか?"
# renpy/common/00layout.rpy:422
old "Are you sure you want to delete this save?"
new "このセーブデータを消去しますか?"
# renpy/common/00layout.rpy:423
old "Are you sure you want to overwrite your save?"
new "このセーブデータに上書きしますか?"
# renpy/common/00layout.rpy:424
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "セーブされていないデータは失われます\n続けますか?"
# renpy/common/00layout.rpy:425
old "Are you sure you want to quit?"
new "終了しますか?"
# renpy/common/00layout.rpy:426
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "メインメニューに戻りますか?\nセーブされていないデータは破棄されます"
# renpy/common/_errorhandling.rpym:408
old "An exception has occurred."
new "例外が発生しました。"
# renpy/common/_errorhandling.rpym:434
old "Rollback"
new "ロールバック"
# renpy/common/_errorhandling.rpym:436
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "セーブまたは他の選択肢が選べるように、ロールバックを使って直前に戻ります。"
# renpy/common/_errorhandling.rpym:439
old "Ignore"
new "無視"
# renpy/common/_errorhandling.rpym:441
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "例外を無視してゲームを続行します。連鎖的にエラーが発生する可能性があります。"
# renpy/common/_errorhandling.rpym:444
old "Reload"
new "リロード"
# renpy/common/_errorhandling.rpym:446
old "Reloads the game from disk, saving and restoring game state if possible."
new "ディスクからゲームをリロードして、現在の状況を保存、可能であれば復元します。"
# renpy/common/_errorhandling.rpym:448
old "Open Traceback"
new "トレースバックを開く"
# renpy/common/_errorhandling.rpym:450
old "Opens the traceback.txt file in a text editor."
new "テキストエディターで traceback.txt を開きます。"
# renpy/common/_errorhandling.rpym:456
old "Quits the game."
new "ゲームを終了します。"
# renpy/common/_errorhandling.rpym:483
old "Parsing the script failed."
new "スクリプトの変換に失敗しました。"
# renpy/common/_errorhandling.rpym:510
old "Open Parse Errors"
new "変換エラーを開く"
# renpy/common/_errorhandling.rpym:512
old "Opens the errors.txt file in a text editor."
new "テキストエディターで errors.txt を開きます。"
# renpy/common/00keymap.rpy:167
old "Saved screenshot as %s."
new "スクリーンショットを %s に保存しました。"
# renpy/common/00gltest.rpy:50
old "Graphics Acceleration"
new "グラフィック・アクセラレーション"
# renpy/common/00gltest.rpy:54
old "Automatically Choose"
new "自動で選択する"
# renpy/common/00gltest.rpy:59
old "Force Angle/DirectX Renderer"
new "Angle/DirectX レンダラーを使う"
# renpy/common/00gltest.rpy:63
old "Force OpenGL Renderer"
new "OpenGL レンダラーを使う"
# renpy/common/00gltest.rpy:67
old "Force Software Renderer"
new "ソフトウェアレンダラーを使う"
# renpy/common/00gltest.rpy:73
old "Changes will take effect the next time this program is run."
new "変更は次回起動時から適用されます"
# renpy/common/00gltest.rpy:112
old "Performance Warning"
new "パフォーマンスに関する注意"
# renpy/common/00gltest.rpy:117
old "This computer is using software rendering."
new "このコンピューターはソフトウェアレンダリングを使用しています。"
# renpy/common/00gltest.rpy:119
old "This computer is not using shaders."
new "このコンピューターはシェーダーを使用していません。"
# renpy/common/00gltest.rpy:121
old "This computer is displaying graphics slowly."
new "このコンピューターは描画速度が遅いです。"
# renpy/common/00gltest.rpy:123
old "This computer has a problem displaying graphics: [problem]."
new "このコンピューターではグラフィックに以下の問題があります:[problem] "
# renpy/common/00gltest.rpy:128
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "グラフィックドライバーが古いか、正常に動作していません。表示が遅れたり、正しく表示されない可能性があります。DirectX を更新すると解決することがあります。"
# renpy/common/00gltest.rpy:130
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "グラフィックドライバーが古いか、正常に動作していません。表示が遅れたり、正しく表示されない可能性があります。"
# renpy/common/00gltest.rpy:135
old "Update DirectX"
new "DirectXのアップデート"
# renpy/common/00gltest.rpy:141
old "Continue, Show this warning again"
new "次回もこの注意を表示する。"
# renpy/common/00gltest.rpy:145
old "Continue, Don't show warning again"
new "次回はこの注意を表示しない。"
# renpy/common/00gltest.rpy:171
old "Updating DirectX."
new "DirectXのアップデート中"
# renpy/common/00gltest.rpy:175
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "DirectX ウェブセットアップを開始しました。タスクバーに最小化されていることがありますが、指示通りにインストールしてください。"
# renpy/common/00gltest.rpy:179
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}注意:{/b} MicrosoftのDirectXウェブセットアッププログラムは、デフォルトでBingツールバーをインストールします。このツールバーが不要な場合は、対応したチェックボックスを解除して下さい。"
# renpy/common/00gltest.rpy:183
old "When setup finishes, please click below to restart this program."
new "セットアップが完了したら、下のボタンを押して再起動してください。"
# renpy/common/00gltest.rpy:185
old "Restart"
new "再起動"
# renpy/common/_layout/imagemap_load_save.rpym:115
old "a"
new "a"
# renpy/common/_layout/imagemap_load_save.rpym:124
old "q"
new "q"
# renpy/common/00action_file.rpy:118
old "%b %d, %H:%M"
new "%m月%d日, %H:%M"
# renpy/common/00layout.rpy:427
old "Are you sure you want to begin skipping?"
new "スキップを開始しますか?"
# renpy/common/00layout.rpy:428
old "Are you sure you want to skip to the next choice?"
new "次の選択肢までスキップしますか?"
# renpy/common/00layout.rpy:429
old "Are you sure you want to skip to unseen dialogue or the next choice?"
new "次の選択肢または未読までスキップしますか?"
# renpy/common/00gallery.rpy:521
old "Image [index] of [count] locked."
new "画像 [index] / [count] はロックされています。"
# renpy/common/00gallery.rpy:539
old "prev"
new "前へ"
# renpy/common/00gallery.rpy:540
old "next"
new "次へ"
# renpy/common/00gallery.rpy:541
old "slideshow"
new "スライドショー"
# renpy/common/00gallery.rpy:542
old "return"
new "戻る"
# renpy/common/00action_file.rpy:587
old "Quick save complete."
new "クイックセーブ完了。"
# renpy/common/_developer/inspector.rpym:43
old "Displayable Inspector"
new "Displayable インスペクター"
# renpy/common/_developer/inspector.rpym:49
old "Nothing to inspect."
new "インスペクトするものがありません"
# renpy/common/_developer/inspector.rpym:58
old "Size"
new "サイズ"
# renpy/common/_developer/inspector.rpym:63
old "Style"
new "スタイル"
# renpy/common/_developer/inspector.rpym:123
old "Inspecting Styles of [displayable_name!q]"
new "[displayable_name!q] のスタイルをインスペクト中"
# renpy/common/_developer/inspector.rpym:135
old "displayable:"
new "Displayable:"
# renpy/common/_developer/inspector.rpym:142
old " (no properties affect the displayable)"
new " (Displayable に影響しているプロパティーはありません)"
# renpy/common/_developer/inspector.rpym:144
old " (default properties omitted)"
new " (デフォルトのプロパティーは省略します)"
# renpy/common/_developer/inspector.rpym:174
old "<repr() failed>"
new "<repr() 失敗>"
# renpy/common/_developer/developer.rpym:65
old "Developer Menu"
new "開発者メニュー"
# renpy/common/_developer/developer.rpym:67
old "Reload Game (Shift+R)"
new "ゲームのリロード (Shift+R)"
# renpy/common/_developer/developer.rpym:69
old "Console (Shift+O)"
new "コンソール (Shift+D)"
# renpy/common/_developer/developer.rpym:71
old "Variable Viewer"
new "変数ビューアー"
# renpy/common/_developer/developer.rpym:73
old "Theme Test"
new "テーマのテスト"
# renpy/common/_developer/developer.rpym:75
old "Image Location Picker"
new "画像位置ピッカー"
# renpy/common/_developer/developer.rpym:77
old "Filename List"
new "ファイル名のリスト"
# renpy/common/_developer/developer.rpym:81
old "Show Image Load Log"
new "画像ロード履歴の表示"
# renpy/common/_developer/developer.rpym:84
old "Hide Image Load Log"
new "画像ロード履歴の非表示"
# renpy/common/_developer/developer.rpym:149
old "No variables have changed since the game started."
new "ゲーム起動時から変更された変数はありません。"
# renpy/common/_developer/developer.rpym:152
old "Return to the developer menu"
new "開発者メニューに戻ります"
# renpy/common/_developer/developer.rpym:309
old "Undefined Images"
new "未定義の画像"
# renpy/common/_developer/developer.rpym:409
old "Rectangle: %r"
new "矩形: %r"
# renpy/common/_developer/developer.rpym:414
old "Mouse position: %r"
new "マウス位置: %r"
# renpy/common/_developer/developer.rpym:416
old "Right-click or escape to quit."
new "右クリックまたはEscで終了。"
# renpy/common/_developer/developer.rpym:467
old "Done"
new "完了"
# renpy/common/00console.rpy:179
old "%(version)s console, originally by Shiz, C, and delta.\n"
new "%(version)s コンソール, 作成者: Shiz, C, delta\n"
# renpy/common/00console.rpy:180
old "Press <esc> to exit console. Type help for help.\n"
new "<esc> を押して終了。help と入力してヘルプを表示。\n"
# renpy/common/00console.rpy:184
old "Ren'Py script enabled."
new "Ren'Py スクリプト有効。"
# renpy/common/00console.rpy:186
old "Ren'Py script disabled."
new "Ren'Py スクリプト無効。"
# renpy/common/00console.rpy:392
old "help: show this help"
new "help: このヘルプを表示"
# renpy/common/00console.rpy:397
old "commands:\n"
new "コマンド:\n"
# renpy/common/00console.rpy:407
old " <renpy script statement>: run the statement\n"
new " <Ren'Py スクリプトステートメント>: ステートメントを実行\n"
# renpy/common/00console.rpy:409
old " <python expression or statement>: run the expression or statement"
new " <Python 式またはステートメント>: 式またはステートメントを実行"
# renpy/common/00console.rpy:417
old "clear: clear the console history"
new "clear: コンソール履歴を消去"
# renpy/common/00console.rpy:421
old "exit: exit the console"
new "exit: コンソールを終了"
# renpy/common/00console.rpy:429
old "load <slot>: loads the game from slot"
new "load <スロット>: スロットからゲームをロード"
# renpy/common/00console.rpy:442
old "save <slot>: saves the game in slot"
new "save <スロット>: スロットにゲームを保存"
# renpy/common/00console.rpy:453
old "reload: reloads the game, refreshing the scripts"
new "reload: ゲームをリロードしてスクリプトを再読み込み"
# renpy/common/00console.rpy:461
old "watch <expression>: watch a python expression"
new "watch <式>: Python 式をウォッチ"
# renpy/common/00console.rpy:470
old "unwatch <expression>: stop watching an expression"
new "unwatch <式>: Python 式のウォッチを解除"
# renpy/common/00console.rpy:478
old "unwatchall: stop watching all expressions"
new "unwatchall: すべての式のウォッチを解除"
# renpy/common/00console.rpy:484
old "jump <label>: jumps to label"
new "jump <ラベル>: ラベルにジャンプ"
# renpy/common/00keymap.rpy:332
old "Autoreload"
new "オートリロード"
# renpy/common/_developer/developer.rpym:272
old "{b}Missing Images{/b}"
new "{b}M画像が見付かりません{/b}"
# renpy/common/_developer/inspector.rpym:80
old "Location"
new "ファイル"
# renpy/common/00preferences.rpy:387
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "クリップボードボイシングが有効化しました。 'shift+C'で無効化します。"
# renpy/common/00preferences.rpy:389
old "Self-voicing enabled. Press 'v' to disable."
new "セルフボイシングが有効化しました。 'v' で無効化します。"
##Lancherでのみ必要###########################################
# # renpy/common/00gltest.rpy:95
# old "Quit"
# new "終了"
#
# # renpy/common/00gltest.rpy:100
# old "Return"
# new "戻る"
#
# # renpy/common/_compat/gamemenu.rpym:198
# old "Empty Slot."
# new "空のスロット"
#
# # renpy/common/_compat/gamemenu.rpym:355
# old "Previous"
# new "前へ"
#
# # renpy/common/_compat/gamemenu.rpym:362
# old "Next"
# new "次へ"
##templateでのみ必要############################################
#
# # renpy/common/00updater.rpy:1385
# old "An error has occured:"
# new "エラーが派生しました。"
#
# # renpy/common/00updater.rpy:1387
# old "Checking for updates."
# new "更新をチェックしています。"
#
# # renpy/common/00updater.rpy:1399
# old "Finishing up."
# new "更新を完了しました。"
#
# # renpy/common/00updater.rpy:1419
# old "Proceed"
# new "処理中"
#
# # renpy/common/00updater.rpy:1422
# old "Cancel"
# new "キャンセル"
@@ -1,134 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_character.rpy:45
translate japanese demo_character_16897d85:
# e "The Character object is used to declare characters, and it can also be used to customize the way in which a character speaks."
e "Characterオブジェクトはキャラクターの宣言や、キャラクターが話す方法をカスタマイズするときに使います。"
# game/demo_character.rpy:47
translate japanese demo_character_7ad48073:
# e "By supplying it with the appropriate arguments, we can really change around the feel of the game."
e "これを適切な引数と共に使用することで、ゲームの雰囲気を大きく変えることができます。"
# game/demo_character.rpy:49
translate japanese demo_character_6fc5bef5:
# e "In this section, we'll demonstrate some of what can be accomplished by customizing character objects."
e "この章では、Characterオブジェクトをカスタマイズすることによる変化を実演します。"
# game/demo_character.rpy:51
translate japanese demo_character_2edcd1df:
# equote "By supplying what_prefix and what_suffix arguments to a Character object, we can automatically add things before each line of text."
equote "Characterオブジェクトに引数 what_prefix と what_suffix を指定すると、テキストの前後に自動的に何かを追加できます。"
# game/demo_character.rpy:53
translate japanese demo_character_3ba649df:
# equote "This is a lot easier than having to put those quotes in by hand."
equote "これは、直接手で括弧を加えるよりも楽です。"
# game/demo_character.rpy:55
translate japanese demo_character_48dc5333:
# equote "We can also use who_prefix and who_suffix to add text to the name of the speaker."
equote "また、who_prefix と who_suffix を用いると、話者の名前にテキストを追加します。"
# game/demo_character.rpy:57
translate japanese demo_character_77ce5256:
# e "We can also supply arguments to the Character object that customize the look of the character name, the text that is being said, and the window itself."
e "同様にCharacterオブジェクトに引数を指定することで、キャラクター名、話されたテキスト、ウィンドウ自体の外観をカスタマイズできます。"
# game/demo_character.rpy:59
translate japanese demo_character_fceb39fb:
# eweird "These can really change the look of the game."
eweird "これらはゲームの外観を大きく変えます。"
# game/demo_character.rpy:61
translate japanese demo_character_92ae524c:
# eside "A more practical use of that is in conjunction with show_side_image, which lets us position an image next to the text."
eside "より実用的な使い方は、show_side_image との組み合わせで、テキストの隣に画像を配置できます。"
# game/demo_character.rpy:63
translate japanese demo_character_ba09ee13:
# etwo "There's also show_two_window, which puts the character's name in its own window."
etwo "show_two_window も実用的で、キャラクター名を専用のウィンドウに表示します。"
# game/demo_character.rpy:65
translate japanese demo_character_91f8f1cc:
# ectc "Finally, we demonstrate a click to continue indicator. In this example, it's nestled in with the text."
ectc "最後に、クリックして続けることを示すインジケーターを実演します。この例では、インジケーターはテキストの隣にあります。"
# game/demo_character.rpy:67
translate japanese demo_character_90e5383f:
# ectcf "A click to continue image can also be placed at a fixed location on the screen."
ectcf "インジケーターの画像は画面の決まった位置に固定することもできます。"
# game/demo_character.rpy:69
translate japanese demo_character_4a210bad:
# e "There's a lot more you can do with Character, as it lets you set style properties on all of the displayed text."
e "Characterは表示されているすべてのテキストの外観プロパティーを設定できるため、出来ることはもっとあります。"
# game/demo_character.rpy:71
translate japanese demo_character_0393756f:
# e "Finally, let me point out a couple of special characters we pre-define."
e "最後に、予め定義しておいた特殊なキャラクターを示しましょう。"
# game/demo_character.rpy:76
translate japanese demo_character_29688b7c:
# centered "The \"centered\" character shows text at the center of the screen, without a window."
centered "\"centered\" キャラクターは、ウィンドウなしでテキストを画面中央に表示します。"
# game/demo_character.rpy:78
translate japanese demo_character_496243d7:
# centered "It's just a highly customized normal character, that's useful for dates and titles."
centered "これは、通常のキャラクターを高度にカスタマイズしただけであり、時刻やタイトルに使えます。"
# game/demo_character.rpy:83
translate japanese demo_character_e79e9042:
# e "The \"extend\" character is very special."
e "\"extend\" キャラクターはとても特殊です。"
# game/demo_character.rpy:85
translate japanese demo_character_0b55b872:
# e "It lets you"
e "これは、"
# game/demo_character.rpy:89
translate japanese demo_character_7c80c8fc:
# extend " extend the previous dialogue"
extend "一つ前の会話に"
# game/demo_character.rpy:93
translate japanese demo_character_645bb443:
# extend " with additional text."
extend "追加のテキストを連結します。"
# game/demo_character.rpy:95
translate japanese demo_character_170d938b:
# e "That lets you have things happen in the middle of text. If you didn't notice, I was changing my expression."
e "これによって、何かをテキストの途中で起こすことができます。私の表情が変わったことに気づきましたか?"
# game/demo_character.rpy:97
translate japanese demo_character_4adb20a9:
# e "Hopefully, these characters, along with the ones you define, will lead to a very expressive game."
e "うまくいけば、これらのキャラクターを定義することで、とても表現力豊かなゲームになるでしょう。"
@@ -1,20 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_dynamic.rpy:27
translate japanese demo_dynamic_b72548ea:
# e "The DynamicDisplayable function lets you change what's displayed over the course of an interaction."
e "DynamicDisplayable関数は、対話に関係なく表示を変えることが出来るものです。"
# game/demo_dynamic.rpy:31
translate japanese demo_dynamic_0276dbb9:
# e "This makes it possible to display things like countdown timers and progress bars."
e "これにより、カウントダウンタイマーやプログレスバーといったものができます。"
# game/demo_dynamic.rpy:33
translate japanese demo_dynamic_4cabf539:
# e "Remember, people read at different speeds, so it's probably better to use this for flavor, rather then to make games time-sensitive."
e "人によって読む速度は違うので、たぶん、時間に依存するゲームよりは味付けとして使ったほうがいいことを覚えておいて下さい。"
@@ -1,182 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_imageops.rpy:69
translate japanese demo_imageops_0e0e59e0:
# e "Image operations allow us to manipulate images as they are loaded in."
e "画像操作の関数を用いると、読み込まれた画像を操作できます。"
# game/demo_imageops.rpy:71
translate japanese demo_imageops_2dfc0c2e:
# e "They're efficient, as they are only evaluated when an image is first loaded."
e "これらは画像が1回目にロードされたときに評価するため、効率的です。"
# game/demo_imageops.rpy:73
translate japanese demo_imageops_9ee5a075:
# e "This way, there's no extra work that needs to be done when each frame is drawn to the screen."
e "この方法では、それぞれのフレームが画面に描画されるときに、処理した画像を得るための余計な操作が要りません。"
# game/demo_imageops.rpy:80
translate japanese demo_imageops_3f73f4c2:
# e "Let me show you a test image, the Ren'Py logo."
e "テスト画像であるRen'Pyのロゴを見せます。"
# game/demo_imageops.rpy:82
translate japanese demo_imageops_e3887927:
# e "We'll be applying some image operations to it, to see how they can be used."
e "これにいくつかの画像処理を行い、どのように使えるか見ます。"
# game/demo_imageops.rpy:87
translate japanese demo_imageops_d05ba9d9:
# e "The im.Crop operation can take the image, and chop it up into a smaller image."
e "im.Crop 関数を使うと、画像を取得して小さい画像に切り抜けます。"
# game/demo_imageops.rpy:92
translate japanese demo_imageops_f57f6496:
# e "The im.Composite operation lets us take multiple images, and draw them into a single image."
e "im.Composite 関数を使うと、複数の画像を取得して1つの画像に描画できます。"
# game/demo_imageops.rpy:94
translate japanese demo_imageops_634bc9da:
# e "While you can do this by showing multiple images, this is often more efficient."
e "複数の画像を表示するときにこの方法を使えれば、より効率的になり得ます。"
# game/demo_imageops.rpy:99
translate japanese demo_imageops_3a9392e4:
# e "There's also LiveComposite, which is less efficent, but allows for animation."
e "LiveComposite 関数は、効率はあまり良くないですがアニメーション表示できます。"
# game/demo_imageops.rpy:101
translate japanese demo_imageops_aab0c08f:
# e "It isn't really an image operation, but we don't know where else to put it."
e "これは本当は画像操作の関数ではありませんが、他に紹介できる場所が分かりませんでした。"
# game/demo_imageops.rpy:106
translate japanese demo_imageops_23cd24da:
# e "The im.Scale operation lets us scale an image to a particular size."
e "im.Scale 関数を使うと、画像を別の大きさに拡大・縮小できます。"
# game/demo_imageops.rpy:111
translate japanese demo_imageops_dcaf5d6b:
# e "im.FactorScale lets us do the same thing, except to a factor of the original size."
e "im.FactorScale も同様の操作ができますが、これは倍率によって指定します。"
# game/demo_imageops.rpy:116
translate japanese demo_imageops_eeaec24a:
# e "The im.Map operation lets us mess with the red, green, blue, and alpha channels of an image."
e "im.Map 関数を使うと、画像の赤、緑、青、アルファチャンネルに干渉できます。"
# game/demo_imageops.rpy:118
translate japanese demo_imageops_a2ed064d:
# e "In this case, we removed all the red from the image, leaving only the blue and green channels."
e "この場合は、画像からすべての赤を削除し、青と緑のチャンネルだけを残しました。"
# game/demo_imageops.rpy:125
translate japanese demo_imageops_77b0a263:
# e "The im.Recolor operation can do the same thing, but is more efficient when we're linearly mapping colors."
e "im.Recolor 関数は同じ事ができますが、色を直線的にマッピングする場合は、より効率的です。"
# game/demo_imageops.rpy:130
translate japanese demo_imageops_360723bc:
# e "The im.Twocolor operation lets you take a black and white image, like this one..."
e "im.Twocolor 関数を使うと、このようにモノクロの画像を取得できます。"
# game/demo_imageops.rpy:135
translate japanese demo_imageops_0948998c:
# e "... and assign colors to replace black and white."
e "... そして黒と白に別の色を割り当てます。"
# game/demo_imageops.rpy:140
translate japanese demo_imageops_75522403:
# e "The im.MatrixColor operation lets you use a matrix to alter the colors. With the right matrix, you can desaturate colors..."
e "im.MatrixColor 関数を使うと、色を変えるための行列を使えます。正しい行列を使えば、彩度を変えられます..."
# game/demo_imageops.rpy:145
translate japanese demo_imageops_6fe260b9:
# e "... tint the image blue..."
e "... 青っぽい色合いにしたり..."
# game/demo_imageops.rpy:150
translate japanese demo_imageops_85c10beb:
# e "... rotate the hue... "
e "... 色相を回転させたり... "
# game/demo_imageops.rpy:155
translate japanese demo_imageops_09d2d97f:
# e "... or invert the colors, for a kinda scary look."
e "... 色を反転させて不気味な感じにしたりできます。"
# game/demo_imageops.rpy:160
translate japanese demo_imageops_6dd8f586:
# e "It can even adjust brightness and contrast."
e "輝度やコントラストも調節できます。"
# game/demo_imageops.rpy:162
translate japanese demo_imageops_ba8ddf3e:
# e "We've made some of the most common matrices into image operators."
e "画像処理関数の中に、最も一般的な行列をいくつか入れてあります。"
# game/demo_imageops.rpy:167
translate japanese demo_imageops_4c62de6f:
# e "im.Grayscale can make an image grayscale..."
e "im.Grayscale は、画像をグレースケールにできます..."
# game/demo_imageops.rpy:172
translate japanese demo_imageops_7d471e4b:
# e "... while im.Sepia can sepia-tone an image."
e "... 一方、im.Sepia は画像をセピア調にできます。"
# game/demo_imageops.rpy:179
translate japanese demo_imageops_59ca3a66:
# e "The im.Alpha operation can adjust the alpha channel on an image, making things partially transparent."
e "im.Alpha 関数は画像のアルファチャンネルを調節し、部分的に透明にできます。"
# game/demo_imageops.rpy:184
translate japanese demo_imageops_514a55db:
# e "It's useful if a character just happens to be ghost."
e "キャラクターが幽霊になってしまった場合に便利です。"
# game/demo_imageops.rpy:190
translate japanese demo_imageops_05fc1200:
# e "But that isn't the case with me."
e "私のことを言っているのではありません。"
# game/demo_imageops.rpy:197
translate japanese demo_imageops_cf7fbb57:
# e "Finally, there's im.Flip, which can flip an image horizontally or vertically."
e "最後に、im.Flip があります。これは画像の上下、もしくは左右を入れ替えられます。"
# game/demo_imageops.rpy:199
translate japanese demo_imageops_49161c26:
# e "I think the less I say about this, the better."
e "このことについてはあまり言わないほうが良いでしょう。"
@@ -1,74 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_layers.rpy:15
translate japanese demo_layers_c4715eb5:
# e "Ren'Py lets you define layers, and show images on specific layers."
e "Ren'Pyではレイヤーを宣言でき、指定したレイヤーに画像を表示できます。"
# game/demo_layers.rpy:26
translate japanese demo_layers_c385f69e:
# e "The \"onlayer\" clause of the scene, show, and hide statements lets us pick which layers the commands affect."
e "scene、show、hideステートメントの \"onlayer\" 項では、どのレイヤーが命令の影響を受けるかを指定します。"
# game/demo_layers.rpy:28
translate japanese demo_layers_89a87205:
# e "As you can see, layers do not have to take up the entire screen. When a layer doesn't, images are clipped to the layer."
e "お分かりのように、レイヤーは画面全体に取る必要はありません。そのような場合、画像はレイヤーに合わせて切り取られます。"
# game/demo_layers.rpy:34
translate japanese demo_layers_72b6169a:
# e "The \"as\" clause lets you change the tag of an image."
e "\"as\" 項では画像のタグを変更できます。"
# game/demo_layers.rpy:43
translate japanese demo_layers_31adea8e:
# e "This is useful when you want to show two copies of the same image."
e "これは、同じ画像のコピーを2つ表示させたいときに便利です。"
# game/demo_layers.rpy:45
translate japanese demo_layers_2659ae91:
# e "Or if a character has a twin."
e "または、キャラクターが双子のとき。"
# game/demo_layers.rpy:56
translate japanese demo_layers_fa599d50:
# e "You can use \"show expression\" to show things that aren't just images, like text."
e "\"show expression\" を使うと、テキストなどの普通の画像以外のものを表示できます。"
# game/demo_layers.rpy:64
translate japanese demo_layers_11350755:
# e "Finally, the \"behind\" clause lets you place an image behind another."
e "最後に、\"behind\" 項では、画像を他のものの裏側に置くことができます。"
# game/demo_layers.rpy:70
translate japanese demo_layers_1185c462:
# e "And that's it for layers and advanced show."
e "レイヤーと高度な表示については以上です。"
translate japanese strings:
# game/demo_layers.rpy:53
old "This is text."
new "これはテキスト。"
# game/demo_layers.rpy:64
translate japanese demo_layers_91559c86:
# e "The \"behind\" clause lets you place an image behind another."
e "behind 節は画像を他の画像の後ろに表示します。"
# game/demo_layers.rpy:77
translate japanese demo_layers_a983efbd:
# e "Finally, the \"show layer\" statement allows you to apply a transform to an entire layer."
e "つまり、 \"show layer\" ステートメントではレイヤーすべてに変換を適用出来ます。"
@@ -1,110 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_minigame.rpy:204
translate japanese demo_minigame_03fc91ef:
# e "You may want to mix Ren'Py with other forms of gameplay. There are many ways to do this."
e "Ren'Pyに別の形のゲームプレーを入れたいと思いませんか。それを行うにはたくさんの方法があります。"
# game/demo_minigame.rpy:206
translate japanese demo_minigame_8c389a44:
# e "The first is with the UI functions, which can be used to create powerful button and menu based interfaces."
e "まずはUI機能です。これは高機能なボタンやメニューベースのインターフェイスを作るために使います。"
# game/demo_minigame.rpy:208
translate japanese demo_minigame_0d5698fc:
# e "These are often enough for many simulation-style games."
e "これらは多くのシミュレーションゲームには十分な機能です。"
# game/demo_minigame.rpy:210
translate japanese demo_minigame_abc48e39:
# e "We also have two more ways in which Ren'Py can be extended. Both require experience with Python programming, and so aren't for the faint of heart."
e "Ren'Pyが拡張されたので方法がもう2つあります。2つともPythonプログラミングの経験が必要なので、初心者向けではありません。"
# game/demo_minigame.rpy:212
translate japanese demo_minigame_4d7b5701:
# e "Renpygame is a library that allows pygame games to be run inside Ren'Py."
e "renpygameはpygameゲームをRen'Pyの中で動かすためのライブラリです。"
# game/demo_minigame.rpy:214
translate japanese demo_minigame_bb13a57e:
# e "When using renpygame, Ren'Py steps out of the way and gives you total control over the user's experience."
e "renpygameを使うときは、Ren'Pyの制御から抜け、ユーザーエクスペリエンスをすべて制御できます。"
# game/demo_minigame.rpy:216
translate japanese demo_minigame_4f4537ea:
# e "You can get renpygame from the Frameworks page of the Ren'Py website."
e "renpygameはRen'Pyのウェブサイトのフレームワークのページから入手できます。"
# game/demo_minigame.rpy:218
translate japanese demo_minigame_b2baab12:
# e "If you want to integrate your code with Ren'Py, you can write a user-defined displayable."
e "一方、コードをRen'Pyに統合したい場合は、ユーザー定義のDisplayableを書くことができます。"
# game/demo_minigame.rpy:220
translate japanese demo_minigame_9d67e41d:
# e "User-defined displayables are somewhat more limited, but integrate better with the rest of Ren'Py."
e "ユーザー定義のDisplayableはやや制限がありますが、Ren'Pyとより統合できます。"
# game/demo_minigame.rpy:222
translate japanese demo_minigame_59b3fdfd:
# e "For example, one could support loading and saving while a user-defined displayable is shown."
e "これは例えば、ユーザー定義のDisplayableを表示している間にロードやセーブすることができます。"
# game/demo_minigame.rpy:224
translate japanese demo_minigame_e02e509d:
# e "Now, why don't we play some pong?"
e "では、卓球ゲームで遊びましょう!"
# game/demo_minigame.rpy:246
translate japanese demo_minigame_pong_ce00ff63:
# e "I win!"
e "私の勝ちです!"
# game/demo_minigame.rpy:250
translate japanese demo_minigame_pong_68c82e98:
# e "You won! Congratulations."
e "あなたの勝ちです! おめでとう。"
# game/demo_minigame.rpy:255
translate japanese demo_minigame_pong_dde7e31a:
# e "Would you like to play again?" nointeract
e "もう一度やりますか?" nointeract
# game/demo_minigame.rpy:264
translate japanese demo_minigame_pong_cd12159e:
# e "Remember to be careful about putting minigames in a visual novel, since not every visual novel player wants to be good at arcade games."
e "ビジュアルノベルプレイヤーが皆アーケードゲームが得意というわけではないので、ミニゲームを入れるときは注意して下さい。"
translate japanese strings:
# game/demo_minigame.rpy:255
old "Sure."
new "やりますよ。"
# game/demo_minigame.rpy:255
old "No thanks."
new "いえ、結構です。"
# game/demo_minigame.rpy:16
old "Player"
new "プレイヤー"
# game/demo_minigame.rpy:18
old "Click to Begin"
new "クリックして開始"
@@ -1,116 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_nvlmode.rpy:14
translate japanese demo_nvlmode_76b2fe88:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:17
translate japanese demo_nvlmode_a986703b:
# nvle "NVL-style games are games that cover the full screen with text, rather then placing it in a file at the bottom of the screen."
nvle "NVLスタイルゲームは、テキストが画面下部に位置するのではなく、画面全体を覆うゲームです。"
# game/demo_nvlmode.rpy:19
translate japanese demo_nvlmode_37fd9ceb:
# nvle "Ren'Py ships with a file, nvl_mode.rpy, that implements NVL-style games. You're seeing an example of NVL-mode at work."
nvle "Ren'Pyには nvl_mode.rpy というファイルがあり、NVLスタイルゲームで実装されています。あなたは今、NVLモードで動いている例を見ています。"
# game/demo_nvlmode.rpy:21
translate japanese demo_nvlmode_66cbcf75:
# nvl clear
# nvle "To use NVL-mode, you need to define Characters with a kind=nvl."
nvl clear
nvle "NVLモードを使うには、キャラクターを kind=nvl で宣言する必要があります。"
# game/demo_nvlmode.rpy:25
translate japanese demo_nvlmode_ad2b8b67:
# nvle "You use 'nvl clear' to clear the screen when that becomes necessary."
nvle "'nvl clear' を使うと、必要に応じて画面を消去できます。"
# game/demo_nvlmode.rpy:30
translate japanese demo_nvlmode_390a4eb1:
# nvle "The 'nvl show' and 'nvl hide' statements use transitions to show and hide the NVL window."
nvle "'nvl show' と 'nvl hide' ステートメントは、遷移効果を使ってNVLウィンドウを表示・消去します。"
# game/demo_nvlmode.rpy:32
translate japanese demo_nvlmode_74454519:
# nvle "The nvl_erase function removes a line from the screen."
nvle "nvl_erase 関数は画面から行を削除します。"
# game/demo_nvlmode.rpy:36
translate japanese demo_nvlmode_5e97d841:
# nvle "Like that."
nvle "こんな感じに。"
# game/demo_nvlmode.rpy:43
translate japanese demo_nvlmode_ea2d8a07:
# nvle "The nvl_mode also supports showing menus to the user, provided they are the last thing on the screen. Understand?" nointeract
nvle "nvl_mode も、ユーザーに対するメニューの表示に対応しています。メニューは画面の一番最後に表示されます。分かりましたか?" nointeract
# game/demo_nvlmode.rpy:49
translate japanese demo_nvlmode_0f2b7d59:
# nvl clear
# nvle "Good!"
nvl clear
nvle "いいですね!"
# game/demo_nvlmode.rpy:53
translate japanese demo_nvlmode_76b2fe88_1:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:57
translate japanese demo_nvlmode_b64ad3b1:
# nvl clear
# nvle "Well, it might help if you take a look at the demo code."
nvl clear
nvle "えっと、多分デモコードを見れば分かるようになると思います。"
# game/demo_nvlmode.rpy:61
translate japanese demo_nvlmode_76b2fe88_2:
# nvl clear
nvl clear
# game/demo_nvlmode.rpy:63
translate japanese demo_nvlmode_edb031ab:
# eside "You can specify transitions that occur when going from NVL-mode to ADV-mode."
eside "NVLモードからADVモードに移行するときは、遷移効果を指定できます。"
# game/demo_nvlmode.rpy:65
translate japanese demo_nvlmode_d43b28d1:
# nvle "As well as when going from ADV-mode to NVL-mode."
nvle "または、ADVモードからNVLモードに移行するときもです。"
# game/demo_nvlmode.rpy:67
translate japanese demo_nvlmode_f056c7ad:
# nvle "Text tags like {{w}{w} work in NVL-mode."
nvle "NVL-modeでは {{w}{w} のようなテキストタグが使えます。"
# game/demo_nvlmode.rpy:69
translate japanese demo_nvlmode_750cd9a1:
# extend " As does the \"extend\" special character."
extend "\"extend\" という特殊キャラクターもあります。"
# game/demo_nvlmode.rpy:71
translate japanese demo_nvlmode_146d840b:
# nvle "And that's it for NVL-mode."
nvle "NVLモードについては以上です。"
@@ -1,38 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_persistent.rpy:6
translate japanese demo_persistent_abef5d83:
# "Ren'Py supports per-game and multi-game persistent data."
"Ren'Pyは、ゲーム毎、及びマルチゲームでの永続データに対応しています。"
# game/demo_persistent.rpy:8
translate japanese demo_persistent_539955e4:
# "Persistent data can store flags and other per-game information that should be shared between plays of a single game."
"ゲーム毎の永続データにはフラグやその他のゲーム毎の情報を保存できます。これらは1ゲーム内で共有されます。"
# game/demo_persistent.rpy:19
translate japanese demo_persistent_c8164f03:
# "For example, I can tell you that you've see this line [plays] time(s) since you cleared the per-game persistent data."
"例えば私は、ゲーム毎の永続データが消されてから、あなたがこの行を[plays]回読んだと言えます。"
# game/demo_persistent.rpy:21
translate japanese demo_persistent_54bc6648:
# "Multipersistent data is shared between games, which lets one game unlock features in a second."
"マルチ永続データはゲームの間で共有されるデータで、2回目以降にアンロックされる機能を実装できます。"
# game/demo_persistent.rpy:23
translate japanese demo_persistent_4ff5d824:
# "A sequel might play differently if the player has beaten the first game."
"プレイヤーが1回目のゲームで殴られた場合、続編のゲームは異なった展開でしょう。"
# game/demo_persistent.rpy:35
translate japanese demo_persistent_634f6d6d:
# "According to the multipersistent data, you've seen this line [plays] times total."
"マルチ永続データによると、あなたはこの行を全部で[plays]回読みました。"
-190
View File
@@ -1,190 +0,0 @@
# Translation updated at 2013-02-18 11:40
define eruby_ja = Character(kind=eruby, what_line_leading=11)
# game/demo_text.rpy:65
translate japanese demo_text_ff47a1f2:
# e "Ren'Py gives you quite a bit of control over how text appears."
e "Ren'Pyではテキストの表示方法を、たくさん制御できます。"
# game/demo_text.rpy:67
translate japanese demo_text_ab9b2f08:
# e "Text tags let us control the appearance of text that is shown to the user."
e "テキストタグは、ユーザーに見せるテキストの外観を調節できます。"
# game/demo_text.rpy:69
translate japanese demo_text_12663c84:
# e "Text tags can make text {b}bold{/b}, {i}italic{/i}, {s}struckthrough{/s}, or {u}underlined{/u}."
e "テキストタグは、テキストを{b}太字{/b}、{i}斜体{/i}、{s}取り消し線付き{/s}、{u}下線付き{/u}にできます。"
# game/demo_text.rpy:71
translate japanese demo_text_bdfcba5a:
# e "They can make the font size {size=+12}bigger{/size} or {size=-8}smaller{/size}."
e "フォントサイズも{size=+12}大きく{/size}したり{size=-8}小さく{/size}したりできます。"
# game/demo_text.rpy:73
translate japanese demo_text_4230bb93:
# e "They let you pause{w} the display of the text, optionally with{p}line breaks."
e "また、テキストの表示を{w}一時停止し、追加的に{p}改行できます。"
# game/demo_text.rpy:75
translate japanese demo_text_e8aec30a:
# e "They let you include images inside text{image=exclamation.png} Neat{image=exclamation.png}"
e "テキストの中に画像を埋め込むことができます{image=exclamation.png} きっちりと{image=exclamation.png}"
# game/demo_text.rpy:77
translate japanese demo_text_b647b4d4:
# e "We can pause the text for a short time, and have it auto-advance.{w=1} Just like that."
e "テキストの自動進行を短時間止めることができます。{w=1}このように。"
# game/demo_text.rpy:79
translate japanese demo_text_90c83bb6:
# eslow "We can even have the text auto-advance,{nw}"
eslow "スローモード中にテキストのブロックの終端に達しても、{nw}"
# game/demo_text.rpy:82
translate japanese demo_text_a134abb3:
# extend " when we reach the end of a block of text, in slow text mode."
extend "テキストの自動進行を継続できます。"
# game/demo_text.rpy:84
translate japanese demo_text_d2b1ebbe:
# e "They can change the {color=#f00}color{/color} {color=#ff0}of{/color} {color=#0f0}the{/color} {color=#0ff}text{/color}."
e "テキストの{color=#f00}色を{/color}{color=#ff0}変える{/color}{color=#0f0}ことが{/color}{color=#0ff}できます{/color}。"
# game/demo_text.rpy:88
translate japanese demo_text_6d050f89:
# e "The kerning tag lets you adjust the spacing between characters.\n{k=.5}The spacing between characters can be increased.{/k}\n{k=-.5}The spacing between characters can be decreased.{/k}"
e "カーニングタグを使うと、文字同士の間隔を調整できます。\n{k=.5}文字同士の間隔が広くなりました。{/k}\n{k=-.5}文字同士の間隔が狭くなりました。{/k}"
# game/demo_text.rpy:90
translate japanese demo_text_e8835287:
# eruby "You are able to write ruby text, which can help clarify how to pronounce words, like {rb}Ren'Py{/rb}{rt}ren-pie{/rt}."
eruby_ja "文字の読みを表記するためのルビを書くことができます。{rb}Ren'Py{/rb}{rt}レンパイ{/rt}のように。"
# game/demo_text.rpy:92
translate japanese demo_text_6e1b95f0:
# e "{a=define_hyperlink}Hyperlinks{/a} let buttons be defined using text tags."
e "テキストタグを使って{a=define_hyperlink}ハイパーリンク{/a}でボタンを定義できます。"
# game/demo_text.rpy:94
translate japanese demo_text_245e745a:
# e "The space and vspace tags add {space=30} horizontal and {vspace=20}vertical space, respectively."
e "spaceとvspaceタグは、それぞれ {space=30} 水平 {vspace=20} 垂直の余白を追加します。"
# game/demo_text.rpy:96
translate japanese demo_text_362f67bb:
# e "You can define your own text tags, {=pink}that use a style you define.{/=pink}"
e "テキストタグを独自に定義し、{=pink}定義したスタイルを使用できます。{/=pink}"
# game/demo_text.rpy:98
translate japanese demo_text_9225af3b:
# e "If you find yourself using text tags on every line, you should probably look at style properties instead."
e "すべての行にテキストタグを使うようであれば、代わりにスタイルプロパティーを見たほうがいいかもしれません。"
# game/demo_text.rpy:100
translate japanese demo_text_3b409933:
# e "Used with care, text tags can enhance {b}your{/b} game."
e "テキストタグを注意して使えば、{b}あなたの{/b}ゲームは良くなります。"
# game/demo_text.rpy:102
translate japanese demo_text_fcb34ec8:
# e "{u}Used{/u} with {i}abandon,{/i} they {b}can{/b} make {b}your{/b} game {color=#333}hard{/color} {color=#888}to{/color} {color=#ccc}read{/color}."
e "{u}でたらめに{/u}やたら{i}使うと、{/i}ゲーム{b}が{/b}とても{b}読み{/b}にくい{color=#333}ものに{/color}{color=#888}なって{/color}{color=#ccc}しまいます{/color}。"
# game/demo_text.rpy:104
translate japanese demo_text_3154619a:
# e "With great power comes great responsibility, after all."
e "大きな力には大きな責任が伴います。"
# game/demo_text.rpy:106
translate japanese demo_text_12873855:
# e "And we want to give you all the power you need."
e "そして、私たちはあなたが欲しいすべての力を提供します。"
# game/demo_text.rpy:108
translate japanese demo_text_63b9c010:
# e "There are a couple of text adjustments that don't correspond to text tags."
e "テキストの中にはテキストタグを使うべきでないものもあります。"
# game/demo_text.rpy:110
translate japanese demo_text_1a6f274c:
# eoutline "The outlines setting lets you put outlines around the text."
eoutline "外枠の設定では、テキストの周りに外枠を付けることができます。"
# game/demo_text.rpy:112
translate japanese demo_text_c130dcd4:
# eoutline "You can have more than one outline, and each has its own color and offset."
eoutline "複数の外枠を付けることができ、それぞれ色とオフセットを指定できます。"
# game/demo_text.rpy:116
translate japanese demo_text_9eb0448e:
# esubtitle "Here, we have two outlines around the white text."
esubtitle "ここでは、白色のテキストの周りに2重の外枠が付いています。"
# game/demo_text.rpy:118
translate japanese demo_text_eb22992d:
# esubtitle "The bottom one is a translucent black that's offset a little, while the top one is green."
esubtitle "背後には黒色で半透明のものを少しずらして置いてあり、表に緑色のものがあります。"
# game/demo_text.rpy:120
translate japanese demo_text_7067acb5:
# esubtitle "By hiding the window and adjusting the layout method, we are able to create reasonable subtitles."
esubtitle "ウィンドウを隠してレイアウトの方法を調節すれば、合理的な字幕を作ることができます。"
# game/demo_text.rpy:122
translate japanese demo_text_123ff836:
# esubtitle "This might be an interesting look for a game."
esubtitle "ゲームでは面白い見栄えとなるでしょう。"
# game/demo_text.rpy:126
translate japanese demo_text_d742e133:
# esfont "For even more control, Ren'Py supports SFonts, image files containing font information."
esfont "For even more control, Ren'Py supports SFonts, image files containing font information."
# game/demo_text.rpy:128
translate japanese demo_text_2a8833c0:
# esfont "SFonts let you use fonts you otherwise couldn't, and apply special effects to fonts using your favorite image editor."
esfont "SFonts let you use fonts you otherwise couldn't, and apply special effects to fonts using your favorite image editor."
# game/demo_text.rpy:130
translate japanese demo_text_418ffc27:
# e "Well, that's it for fonts and text tags."
e "フォントとテキストタグについては以上です。"
# game/demo_text.rpy:138
translate japanese define_hyperlink_8863ed04:
# definition "A hyperlink is a button that is defined inside text, using text tags. They're ideal for including definitions of words used in the script, but they shouldn't be used in place of menus."
definition "ハイパーリンクはテキストタグを使ってテキスト中に定義されたボタンです。スクリプトで使われる用語を説明するのに最適な方法ですが、メニューの中には使うべきではありません。"
@@ -1,62 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_transform.rpy:156
translate japanese demo_transform_f10e08f5:
# e "The Transform function allows you to rotate, zoom, move, and adjust the alpha of a displayable."
e "Transform 関数は、画像の回転、拡大・縮小、移動、アルファの調整を行います。"
# game/demo_transform.rpy:158
translate japanese demo_transform_295804e0:
# e "It does this under the control of a Python function, making it incredibly flexible at the cost of some complexity."
e "この機能はPythonの関数によって制御するため、ちょっとした複雑なコードで驚くほど柔軟性の高いものになります。"
# game/demo_transform.rpy:165
translate japanese demo_transform_1afd3e7b:
# e "Here's a simple example, showing how we can change an image as it moves around the screen."
e "移動する画像にどれだけ変えられるか、簡単な例を示します。"
# game/demo_transform.rpy:167
translate japanese demo_transform_a5427276:
# e "A nice thing about Transform is that it's \"one price\"."
e "Transform のいいところは、手間があまりかからないことです。"
# game/demo_transform.rpy:169
translate japanese demo_transform_108aec8f:
# e "If you use it to do a rotation, you can zoom or adjust alpha at no additional cost."
e "これを使って回転させる場合、手間をかけずに拡大したりアルファを調節したりできます。"
# game/demo_transform.rpy:198
translate japanese demo_transform_55f784e4:
# e "As the python functions get more complicated, more advanced behavior is possible."
e "Pythonの関数がもっと複雑になれば、より高度な動作が可能となります。"
# game/demo_transform.rpy:200
translate japanese demo_transform_43798bbe:
# e "This can include coordinating more than one Transform."
e "これで複数の変換の調節を含めることができます。"
# game/demo_transform.rpy:213
translate japanese demo_transform_3f4f14bb:
# e "Finally, transforms can be applied to buttons, and work even while the button is zoomed."
e "最後に、変換はボタンとして動作でき、拡大させながらも動作します。"
# game/demo_transform.rpy:218
translate japanese demo_transform_a439ffaa:
# e "With a little Python code, transforms let you do a lot of things."
e "少しのPythonコードで、変換はたくさんのことができます。"
translate japanese strings:
# game/demo_transform.rpy:211
old "A Working Button"
new "動くボタン"
@@ -1,542 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_transitions.rpy:44
translate japanese demo_transitions_5bbc72fe:
# e "Ren'Py ships with a large number of built-in transitions, and also includes classes that let you define your own."
e "Ren'Pyには多数のトランジションが備わっており、また自身でクラスを定義することもできます。"
# game/demo_transitions.rpy:46
translate japanese demo_transitions_menu_3caf78d3:
# e "What kind of transitions would you like demonstrated?" nointeract
e "実演してもらいたいトランジションはどれですか?" nointeract
# game/demo_transitions.rpy:81
translate japanese demo_simple_transitions_2b4fbae3:
# e "Okay, I can tell you about simple transitions. We call them simple because they don't take much in the way of configuration."
e "分かりました、簡単なトランジションについて説明します。なぜ簡単かというと、設定をする必要が殆ど無いからです。"
# game/demo_transitions.rpy:83
translate japanese demo_simple_transitions_4b235ac2:
# e "But don't let that get you down, since they're the transitions you'll probably use the most in a game."
e "しかし、がっかりさせるようなものではありません。それは、おそらくゲーム中で最も良く使うトランジションだからです。"
# game/demo_transitions.rpy:88
translate japanese demo_simple_transitions_af0431ac:
# e "The 'dissolve' transition is probably the most useful, blending one scene into another."
e "「dissolve」トランジションは多分一番便利で、一つの場面から他の場面に徐々に変化させます。"
# game/demo_transitions.rpy:93
translate japanese demo_simple_transitions_5b9f711f:
# e "The 'Dissolve' function lets you create your own dissolves, taking a different amount of time."
e "「Dissolve」関数を使うと、異なる変化時間を指定した独自のディゾルブを作成できます。"
# game/demo_transitions.rpy:98
translate japanese demo_simple_transitions_79816523:
# e "The 'fade' transition fades to black, and then fades back in to the new scene."
e "「fade」トランジションは、まず黒色にフェードさせてから新しい場面にフェードさせます。"
# game/demo_transitions.rpy:100
translate japanese demo_simple_transitions_141bb95d:
# e "If you're going to stay at a black screen, you'll probably want to use 'dissolve' rather than 'fade'."
e "黒色の画面で止めたい場合は、「fade」を使うより「dissolve」を使ったほうがいいでしょう。"
# game/demo_transitions.rpy:104
translate japanese demo_simple_transitions_f059f4ae:
# e "You can use 'Fade' to define your own fades. By changing the timing and the color faded to, you can use this for special effects, like flashbulbs."
e "「Fade」関数を使うと、独自のフェードを定義できます。フェード時間とフェード先の色を変えることで、フラッシュバルブのような特別なエフェクトを作成できます。"
# game/demo_transitions.rpy:109
translate japanese demo_simple_transitions_e948905b:
# e "The 'pixellate' transition pixellates out the old scene, switches to the new scene, and then unpixellates that."
e "「pixellate」トランジションは古い場面をピクセル化してから新しい場面に切り替え、ピクセル化を元に戻します。"
# game/demo_transitions.rpy:111
translate japanese demo_simple_transitions_6a1ae05f:
# e "It's probably not appropriate for most games, but we think it's kind of neat."
e "多分、多くのゲームでは使い道が無いでしょうが、私たちはある程度きっちりしたものだと思います。"
# game/demo_transitions.rpy:114
translate japanese demo_simple_transitions_bdfcd85a:
# e "You can use 'Pixellate' to change the details of the pixellation."
e "「Pixellate」関数を使うことで、ピクセル化の詳細を変更できます。"
# game/demo_transitions.rpy:116
translate japanese demo_simple_transitions_432f7224:
# e "Motions can also be used as transitions."
e "動きのあるものもトランジションとして使えます。"
# game/demo_transitions.rpy:118
translate japanese demo_simple_transitions_a20cefa7:
# "..."
"..."
# game/demo_transitions.rpy:120
translate japanese demo_simple_transitions_0fd4d656:
# "......"
"......"
# game/demo_transitions.rpy:125
translate japanese demo_simple_transitions_fbf11906:
# e "Hey! Pay attention."
e "ちょっと!注意しなさいよ。"
# game/demo_transitions.rpy:127
translate japanese demo_simple_transitions_51c1c5b8:
# e "I was about to demonstrate 'vpunch'... well, I guess I just did."
e "「vpunch」を実演しようとしました。というか、今したと思います。"
# game/demo_transitions.rpy:132
translate japanese demo_simple_transitions_57f19473:
# e "We can also shake the screen horizontally, with 'hpunch'. These were defined using the 'Move' function."
e "「hpunch」で水平に揺らすこともできます。これらは「Move」関数を使って定義されています。"
# game/demo_transitions.rpy:134
translate japanese demo_simple_transitions_fce83e12:
# e "There's also the 'move' transition, which is confusingly enough defined using the 'MoveTransition' function."
e "「move」トランジションもあります。これは紛らわしいのですが、「MoveTransition」関数を使って定義されています。"
# game/demo_transitions.rpy:141
translate japanese demo_simple_transitions_1050b6a4:
# e "The 'move' transition finds images that have changed placement, and slides them to their new place. It's an easy way to get motion in your game."
e "「move」トランジションは位置が変わった画像に対し、その画像を新しい位置にスライドさせます。ゲーム内で動きを入れるのに簡単な方法です。"
# game/demo_transitions.rpy:143
translate japanese demo_simple_transitions_fbb1838e:
# e "Finally, there's 'Pause', which lets you define a transition that just waits for a given amount of time."
e "最後に、「Pause」です。これを使えば、指定した時間待機するだけのトランジションを定義できます。"
# game/demo_transitions.rpy:145
translate japanese demo_simple_transitions_654a7a87:
# e "Why would you want to do that?"
e "なぜこれが必要かって?"
# game/demo_transitions.rpy:147
translate japanese demo_simple_transitions_3b8c0bce:
# e "It's because clicking during a sequence of transitions will skip all of the remaining transitions."
e "それは、連続したトランジションの途中でクリックすると、残りのトランジションは全てスキップされるからです。"
# game/demo_transitions.rpy:149
translate japanese demo_simple_transitions_6cad71a4:
# e "Try clicking during the following transitions:"
e "試しに、次のトランジションの途中でクリックしてみてください:"
# game/demo_transitions.rpy:157
translate japanese demo_simple_transitions_c75a0d2d:
# e "Having 'Pause' makes it easy to implement skippable cut-scenes in terms of transitions."
e "「Pause」を使えば、スキップ可能なカットシーンをトランジションによって簡単に実装できます。"
# game/demo_transitions.rpy:159
translate japanese demo_simple_transitions_4632f134:
# e "Anyway, that's it for the simple transitions."
e "とりあえず、簡単なトランジションについては以上です。"
# game/demo_transitions.rpy:166
translate japanese demo_imagedissolve_transitions_2db67018:
# e "Perhaps the most flexible kind of transition is the ImageDissolve, which lets you use an image to control a dissolve."
e "おそらく、最も柔軟性の高いトランジションは ImageDissolve です。これを使うと、ディゾルブの制御に画像を用いることができます。"
# game/demo_transitions.rpy:168
translate japanese demo_imagedissolve_transitions_429f8d03:
# e "This lets us specify very complex transitions, fairly simply. Let's try some, and then I'll show you how they work."
e "これにより、とても複雑なトランジションをかなり簡単に指定できます。いくつか試し、どのように動作するか見せましょう。"
# game/demo_transitions.rpy:170
translate japanese demo_imagedissolve_transitions_1ce501b0:
# e "There are two ImageDissolve transitions built into Ren'Py."
e "Ren'Pyには2つの ImageDissolve トランジションが実装されています。"
# game/demo_transitions.rpy:181
translate japanese demo_imagedissolve_transitions_ea0413be:
# e "The 'blinds' transition opens and closes what looks like vertical blinds."
e "「blinds」トランジションは、縦方向のブラインドを開閉させるような動作をします。"
# game/demo_transitions.rpy:190
translate japanese demo_imagedissolve_transitions_12e2e0d0:
# e "The 'squares' transition uses these squares to show things."
e "「squares」トランジションは、これらの四角形を用いて表示します。"
# game/demo_transitions.rpy:192
translate japanese demo_imagedissolve_transitions_bbf73d1c:
# e "I'm not sure why anyone would want to use it, but it was used in some translated games, so we added it."
e "なぜこれらを使う必要があるかは分かりませんが、これを使うロールプレイングゲームがいくつかあるので入れました。"
# game/demo_transitions.rpy:194
translate japanese demo_imagedissolve_transitions_0ab2902d:
# e "The most interesting transitions aren't in the standard library."
e "最も面白いトランジションは標準ライブラリの中にはありません。"
# game/demo_transitions.rpy:196
translate japanese demo_imagedissolve_transitions_54aa9bf9:
# e "These ones require an image the size of the screen, and so we couldn't include them as the size of the screen can change from game to game."
e "それらのトランジションには画面に合った大きさの画像が必要で、ゲームによって画面の大きさが違うため取り入れられませんでした。"
# game/demo_transitions.rpy:198
translate japanese demo_imagedissolve_transitions_70cfd5ed:
# e "You can click the button above to see how they are defined in the demo script."
e "これらがデモスクリプトの中でどのように定義されているか、確かめてみてください。"
# game/demo_transitions.rpy:203
translate japanese demo_imagedissolve_transitions_ca316184:
# e "We can hide things with a 'circleirisin'..."
e "「circleirisin」を使って隠せます..."
# game/demo_transitions.rpy:208
translate japanese demo_imagedissolve_transitions_b8fdf2b6:
# e "... and show them again with a 'circleirisout'."
e "... そして、「circleirisout」でこれらを再び表示できます。"
# game/demo_transitions.rpy:213
translate japanese demo_imagedissolve_transitions_ee427486:
# e "The 'circlewipe' transitions changes screens using a circular wipe effect."
e "「circlewipe」トランジションは、円形のワイプエフェクトを使って画面を変えられます。"
# game/demo_transitions.rpy:218
translate japanese demo_imagedissolve_transitions_6f089276:
# e "The 'dream' transition does this weird wavy dissolve, and does it relatively slowly."
e "「dream」トランジションは妙な波のディゾルブで、比較的ゆっくりと動作します。"
# game/demo_transitions.rpy:223
translate japanese demo_imagedissolve_transitions_c0b9d74d:
# e "The 'teleport' transition reveals the new scene one line at a time."
e "「teleport」トランジションは、新しい場面を線で少しずつ描きます。"
# game/demo_transitions.rpy:228
translate japanese demo_imagedissolve_transitions_72ba11d4:
# e "This is the background picture used with the circleirisout transition."
e "これはcircleirisoutトランジションに使われる背景画像です。"
# game/demo_transitions.rpy:230
translate japanese demo_imagedissolve_transitions_fc3b3339:
# e "When we use an ImageDissolve, the white will dissolve in first, followed by progressively darker colors. Let's try it."
e "ImageDissolveを使うとき、白色の部分がまず始めにディゾルブされ、徐々に暗い色に移ります。試してみましょう。"
# game/demo_transitions.rpy:235
translate japanese demo_imagedissolve_transitions_4327dca2:
# e "If we give ImageDissolve the 'reverse' parameter, black areas will dissolve in first."
e "ImageDissolveに「reverse」パラメーターを渡すと、黒色の部分が始めにディゾルブされます。"
# game/demo_transitions.rpy:240
translate japanese demo_imagedissolve_transitions_3a401ee7:
# e "This lets circleirisin and circleirisout use the same image."
e "これによって、circleirisinとcircleirisoutは同じ画像を使わせています。"
# game/demo_transitions.rpy:245
translate japanese demo_imagedissolve_transitions_20d9cf6c:
# e "The teleport transition uses a different image, one that dissolves things in one line at a time."
e "teleportトランジションは、別の画像を使っています。これで線を使って徐々にディゾルブをします。"
# game/demo_transitions.rpy:250
translate japanese demo_imagedissolve_transitions_906f7800:
# e "A dissolve only seems to affect parts of the scene that have changed..."
e "ディゾルブは場面の中の変更する一部分だけ..."
# game/demo_transitions.rpy:255
translate japanese demo_imagedissolve_transitions_4b557a29:
# e "... which is how we apply the teleport effect to a single character."
e "...テレポートエフェクトを適用したい単体のキャラクターに影響します。"
# game/demo_transitions.rpy:257
translate japanese demo_imagedissolve_transitions_e16f8d3a:
# e "For more examples of ImageDissolve, check out the {i}Utsukushii Effects{/i} demo."
e "ImageDissolveの例をもっと見たい場合は、{i}Utsukushii Effects{/i} デモを参照してください。"
# game/demo_transitions.rpy:259
translate japanese demo_imagedissolve_transitions_b6dbf68b:
# e "It shows how a clever game-maker can use ImageDissolve to create all sorts of effects."
e "それには、あらゆる種類のエフェクトを作成するために賢いゲーム製作者がImageDissolveをどう使うかが示されています。"
# game/demo_transitions.rpy:265
translate japanese demo_cropmove_transitions_1711a91e:
# e "The CropMove transition class provides a wide range of transition effects. It's not used very much in practice, though."
e "CropMove トランジションクラスは広範囲のトランジション効果を提供します。しかし、実際にはあまり使いません。"
# game/demo_transitions.rpy:270
translate japanese demo_cropmove_transitions_6d82cfd7:
# e "I'll stand offscreen, so you can see some of its modes. I'll read out the mode name after each transition."
e "私は画面の外側に行くので、トランジションをよく見て下さい。それぞれのトランジションの後にトランジションの名前を言います。"
# game/demo_transitions.rpy:275
translate japanese demo_cropmove_transitions_4427c78c:
# e "We first have wiperight..."
e "まず始めは、右にワイプ(wiperight)..."
# game/demo_transitions.rpy:280
translate japanese demo_cropmove_transitions_6d1810a1:
# e "...followed by wipeleft... "
e "...次は、左にワイプ(wipeleft)..."
# game/demo_transitions.rpy:285
translate japanese demo_cropmove_transitions_1dd1c6a1:
# e "...wipeup..."
e "...上にワイプ(wipeup)..."
# game/demo_transitions.rpy:290
translate japanese demo_cropmove_transitions_0ea0fa83:
# e "...and wipedown."
e "...最後に下にワイプ(wipedown)。"
# game/demo_transitions.rpy:292
translate japanese demo_cropmove_transitions_c7cb4c16:
# e "Next, the slides."
e "次はスライドです。"
# game/demo_transitions.rpy:297
translate japanese demo_cropmove_transitions_462a442f:
# e "Slideright..."
e "右にスライド(slideright)..."
# game/demo_transitions.rpy:302
translate japanese demo_cropmove_transitions_f9a2e523:
# e "...slideleft..."
e "...左にスライド(slideleft)..."
# game/demo_transitions.rpy:307
translate japanese demo_cropmove_transitions_20ce3e9c:
# e "...slideup..."
e "...上にスライド(slideup)..."
# game/demo_transitions.rpy:312
translate japanese demo_cropmove_transitions_9e00a7a6:
# e "and slidedown."
e "そして下にスライド(slidedown)。"
# game/demo_transitions.rpy:314
translate japanese demo_cropmove_transitions_b8a710c1:
# e "While the slide transitions slide in the new scene, the slideaways slide out the old scene."
e "slide トランジションは新しい場面にスライドインしましたが、slideaway は古い場面をスライドアウトします。"
# game/demo_transitions.rpy:320
translate japanese demo_cropmove_transitions_1efb4cd0:
# e "Slideawayright..."
e "右にスライドアウト(slideawayright)..."
# game/demo_transitions.rpy:325
translate japanese demo_cropmove_transitions_bfb5dfd7:
# e "...slideawayleft..."
e "...左にスライドアウト(slideawayleft)..."
# game/demo_transitions.rpy:330
translate japanese demo_cropmove_transitions_6c1a4a6f:
# e "...slideawayup..."
e "...上にスライドアウト(slideawayup)..."
# game/demo_transitions.rpy:335
translate japanese demo_cropmove_transitions_1f994a7b:
# e "and slideawaydown."
e "そして下にスライドアウト(slideawaydown)。"
# game/demo_transitions.rpy:337
translate japanese demo_cropmove_transitions_025ef723:
# e "We also have a couple of transitions that use a rectangular iris."
e "ボックスワイプも一組あります。"
# game/demo_transitions.rpy:343
translate japanese demo_cropmove_transitions_d00d505e:
# e "There's irisout..."
e "これはボックスワイプアウト(irisout)..."
# game/demo_transitions.rpy:349
translate japanese demo_cropmove_transitions_016a1e0a:
# e "... and irisin."
e "...そして、ボックスワイプイン(irisin)。"
# game/demo_transitions.rpy:351
translate japanese demo_cropmove_transitions_08d753ed:
# e "It's enough to make you feel a bit dizzy."
e "少し目眩いをさせるには十分です。"
# game/demo_transitions.rpy:357
translate japanese demo_movetransition_14df0e34:
# e "The most common MoveTransition is move, which slides around images that have changed position on the screen."
e "ほとんどの MoveTransition は、画面上の画像の位置をスライドして変更するものです。"
# game/demo_transitions.rpy:362
translate japanese demo_movetransition_84e40422:
# e "Just like that."
e "ちょうどこんな感じです。"
# game/demo_transitions.rpy:364
translate japanese demo_movetransition_098ee9f1:
# e "There are also the moveout and movein transitions."
e "moveout と movein トランジションもあります。"
# game/demo_transitions.rpy:366
translate japanese demo_movetransition_09748f81:
# e "The moveout transitions (moveoutleft, moveoutright, moveouttop, and moveoutbottom) slide hidden images off the appropriate side of the screen."
e "moveout トランジション (moveoutleft、moveoutright、moveouttop、moveoutbottom) は、画像を指定した隅にスライドして隠します。"
# game/demo_transitions.rpy:368
translate japanese demo_movetransition_5edf6007:
# e "The movein transitions (moveinleft, moveinright, moveintop, and moveinbottom) slide in new images."
e "movein トランジション (moveinleft、moveinright、moveintop、moveinbottom) は、新しい画像をスライドインします。"
# game/demo_transitions.rpy:370
translate japanese demo_movetransition_20946d36:
# e "Let's see them all in action."
e "すべての動作を見てみましょう。"
# game/demo_transitions.rpy:396
translate japanese demo_movetransition_569952e3:
# e "That's it for the moveins and moveouts."
e "movein と moveout については以上です。"
# game/demo_transitions.rpy:398
translate japanese demo_movetransition_af4c53cf:
# e "Finally, there are the zoomin and zoomout transtions, which show and hide things using a zoom."
e "最後に、zoomin と zoomout トランジションについてです。これは、ズームを使って表示・非表示を行います。"
# game/demo_transitions.rpy:406
translate japanese demo_movetransition_dc5ccd54:
# e "And that's all there is."
e "以上です。"
# game/demo_transitions.rpy:412
translate japanese demo_alphadissolve_3efbde9f:
# e "The AlphaDissolve transition lets you use one displayable to combine two others. For example..."
e "AlphaDissolve トランジションは、2つの画像を一つの画像によって結合します。例えば..."
# game/demo_transitions.rpy:420
translate japanese demo_alphadissolve_7c08cf8b:
# e "The AlphaDissolve displayable takes a control displayable, usually an ATL transform."
e "AlphaDissolveの画像としては、通常はATL変換を行った制御画像を用います。"
# game/demo_transitions.rpy:425
translate japanese demo_alphadissolve_068e3e98:
# e "To be useful, the control displayable should be partially transparent."
e "制御画像として有用なものは、部分的に半透明になっている画像です。"
# game/demo_transitions.rpy:427
translate japanese demo_alphadissolve_6a1b6203:
# e "During an AlphaDissolve, the old screen is used to fill the transparent areas of the image, while the new screen fills the opaque areas."
e "AlphaDissolve中は、古い画面は画像の透明部分に、新しい画面は不透明部分に満たされます。"
# game/demo_transitions.rpy:431
translate japanese demo_alphadissolve_80a728b6:
# e "For our spotlight example, the old screen is this all-black image."
e "スポットライトの例では、古い画面はこの完全黒色の画像です。"
# game/demo_transitions.rpy:436
translate japanese demo_alphadissolve_ce4380eb:
# e "The new screen is me just standing here."
e "新しい画面は、私がここに立っている画像です。"
# game/demo_transitions.rpy:444
translate japanese demo_alphadissolve_2e95917b:
# e "By combining them using AlphaDissolve, we can build a complicated effect out of simpler parts."
e "AlphaDissolveによって結合すると、単純なものから複雑なエフェクトを構築できます。"
translate japanese strings:
# game/demo_transitions.rpy:46
old "Simple Transitions"
new "簡単なトランジション"
# game/demo_transitions.rpy:46
old "ImageDissolve Transitions"
new "ImageDissolve トランジション"
# game/demo_transitions.rpy:46
old "MoveTransition Transitions"
new "MoveTransition トランジション"
# game/demo_transitions.rpy:46
old "CropMove Transitions"
new "CropMove トランジション"
# game/demo_transitions.rpy:46
old "AlphaDissolve Transitions"
new "AlphaDissolve トランジション"
# game/demo_transitions.rpy:46
old ""
new ""
# game/demo_transitions.rpy:46
old "How about something else?"
new "これ以外に何かありますか?"
-246
View File
@@ -1,246 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/demo_ui.rpy:219
translate japanese demo_ui_e1d49b5e:
# e "Ren'Py gives a number of ways of interacting with the user."
e "Ren'Pyには、ユーザーと対話するためのいくつもの方法があります。"
# game/demo_ui.rpy:221
translate japanese demo_ui_313b38c2:
# e "You've already seen say statements and menus."
e "既に発言ステートメントとメニューを見てきました。"
# game/demo_ui.rpy:223
translate japanese demo_ui_fdeef56f:
# e "But were you aware that you can have dialogue and menus onscreen at the same time?" nointeract
e "しかし、会話とメニューを画面に同時に表示できることに気づいていましたか?" nointeract
# game/demo_ui.rpy:231
translate japanese demo_ui_d4d568aa:
# e "Good!"
e "いいですね!"
# game/demo_ui.rpy:237
translate japanese demo_ui_f34995a5:
# e "Well, now you know."
e "今知りましたね。"
# game/demo_ui.rpy:241
translate japanese demo_ui_7cfaf270:
# e "We can also prompt the user to enter some text."
e "ユーザーにテキストを入力させることもできます。"
# game/demo_ui.rpy:245
translate japanese demo_ui_d77a671d:
# pov "My name is [povname!t]."
pov "私の名前は [povname!t] です。"
# game/demo_ui.rpy:248
translate japanese demo_ui_b50edd86:
# e "Imagemaps let the user click on an image to make a choice. For example, the following screen lets you pick what to do after school:"
e "イメージマップを使うと、ユーザーが画像をクリックして選択できます。例えば次の画面は、放課後に何をするか選ばせるものです。"
# game/demo_ui.rpy:261
translate japanese demo_ui_405542a5:
# e "You chose swimming."
e "水泳を選びました。"
# game/demo_ui.rpy:263
translate japanese demo_ui_264b5873:
# e "Swimming seems like a lot of fun, but I didn't bring my bathing suit with me."
e "水泳は楽しそうですが、水着を持ってきませんでした。"
# game/demo_ui.rpy:267
translate japanese demo_ui_83e5c0cc:
# e "You chose science."
e "科学を選びました。"
# game/demo_ui.rpy:269
translate japanese demo_ui_319cdf4b:
# e "I've heard that some schools have a competitive science team, but to me research is something that can't be rushed."
e "いくつかの学校には競争力のあるサイエンスチームがあると聞きました。でも、私にとっては研究は急いでやるものではありません。"
# game/demo_ui.rpy:273
translate japanese demo_ui_d2a94440:
# e "You chose art."
e "絵画を選びました。"
# game/demo_ui.rpy:275
translate japanese demo_ui_e6af6f1d:
# e "Really good background art is hard to make, which is why so many games use filtered photographs. Maybe you can change that."
e "実際に良い背景を作るのは大変なので、多くのゲームではフィルター処理した写真を使っています。あなたならそれを変えられるでしょう。"
# game/demo_ui.rpy:279
translate japanese demo_ui_373ea9a5:
# e "You chose to go home."
e "帰宅を選びました。"
# game/demo_ui.rpy:281
translate japanese demo_ui_48eca0a4:
# e "Anyway..."
e "では..."
# game/demo_ui.rpy:283
translate japanese demo_ui_f936ccad:
# e "We also support viewports, that allow us to display things that are bigger then the screen."
e "Ren'Pyはビューポートに対応しています。これにより、画面よりも大きいものを表示できます。"
# game/demo_ui.rpy:285
translate japanese demo_ui_a9db7181:
# e "This viewport can be adjusted by dragging, by the mouse wheel, and by the scrollbars."
e "ビューポートはドラッグ、マウスホイール、スクロールバーによって調節できます。"
# game/demo_ui.rpy:298
translate japanese demo_ui_7d821fb9:
# e "Viewports also support edge scrolling, which is automatic scrolling when the mouse reaches their edge."
e "ビューポートはエッジスクロールにも対応しており、マウスがそれぞれのエッジに移動した時に自動的にスクロールします。"
# game/demo_ui.rpy:306
translate japanese demo_ui_42b93520:
# e "While these constructs are probably enough for most visual novels, dating simulations may be more complicated."
e "これらは恐らくほとんどのビジュアルノベルで十分な機能ですが、デートのシミュレーションではもっと複雑になるでしょう。"
# game/demo_ui.rpy:308
translate japanese demo_ui_8300d819:
# e "The ui functions allow you to create quite complicated interfaces."
e "UI機能では、非常に複雑なインターフェイスを作れます。"
# game/demo_ui.rpy:310
translate japanese demo_ui_a070bc2d:
# e "For example, try the following scheduling and stats screen, which could be used by a stat-based dating simulation."
e "例えば次のスケジュールと統計の画面は、統計ベースのデートシミュレーションに使われます。"
# game/demo_ui.rpy:320
translate japanese demo_ui_0d8b1a1c:
# e "For a better implementation of this, take a look at the dating sim engine (DSE) that ships with Ren'Py."
e "これよりも良い実装をするには、Ren'Pyのデートシミュレーションエンジン(DSE)を見てみましょう。"
# game/demo_ui.rpy:324
translate japanese _call_fight_1_cf0ffdb0:
# e "The ui functions can be also be used to show the sorts of stats you'd need if your game involves combat."
e "UI機能は、戦闘ゲームをするときに必要な統計の類にも使えます。"
# game/demo_ui.rpy:328
translate japanese _call_fight_2_7890ebb9:
# e "Hopefully, the ui functions will let you write whatever visual novel or dating sim you want."
e "うまくいけば、UI機能を使うことで、あなたが思うどのようなビジュアルノベルやデートシミュレーションも書くことができます。"
translate japanese strings:
# game/demo_ui.rpy:20
old "Dismiss"
new "閉じる"
# game/demo_ui.rpy:59
old "Morning"
new "午前"
# game/demo_ui.rpy:59
old "Afternoon"
new "午後"
# game/demo_ui.rpy:59
old "Evening"
new "夕方"
# game/demo_ui.rpy:60
old "morning"
new "午前"
# game/demo_ui.rpy:60
old "afternoon"
new "午後"
# game/demo_ui.rpy:60
old "evening"
new "夕方"
# game/demo_ui.rpy:61
old "Study"
new "勉強"
# game/demo_ui.rpy:61
old "Exercise"
new "運動"
# game/demo_ui.rpy:62
old "Eat"
new "食べる"
# game/demo_ui.rpy:62
old "Drink"
new "飲む"
# game/demo_ui.rpy:62
old "Be Merry"
new "遊び"
# game/demo_ui.rpy:68
old "March 25th"
new "3月15日"
# game/demo_ui.rpy:71
old "Strength"
new "体力"
# game/demo_ui.rpy:72
old "Intelligence"
new "賢さ"
# game/demo_ui.rpy:73
old "Moxie"
new "精神"
# game/demo_ui.rpy:74
old "Chutzpah"
new "ガッツ"
# game/demo_ui.rpy:103
old "Statistics"
new "統計"
# game/demo_ui.rpy:134
old "Continue"
new "続ける"
# game/demo_ui.rpy:154
old "What will you do in the [periods_small_selected!t]?"
new "[periods_small_selected!t]に何をしますか?"
# game/demo_ui.rpy:168
old "To get to the next screen, click the 'Continue' button."
new "次の画面に進むには、'続ける' ボタンをクリックして下さい。"
# game/demo_ui.rpy:243
old "What is your name?"
new "あなたの名前は何ですか?"
# game/demo_ui.rpy:243
old "Guy Shy"
new "恥ずかしがりや"
-185
View File
@@ -1,185 +0,0 @@
# Translation updated at 2013-02-18 11:40
translate japanese strings:
# game/screens.rpy:192
old "Start Game"
new "スタート"
# game/screens.rpy:193
old "Load Game"
new "ロード"
# game/screens.rpy:194
old "Preferences"
new "環境設定"
# game/screens.rpy:195
old "Help"
new "ヘルプ"
# game/screens.rpy:196
old "Quit"
new "終了"
# game/screens.rpy:224
old "Return"
new "戻る"
# game/screens.rpy:226
old "Save Game"
new "セーブ"
# game/screens.rpy:228
old "Main Menu"
new "メインメニュー"
# game/screens.rpy:259
old "Previous"
new "前へ"
# game/screens.rpy:262
old "Auto"
new "オート"
# game/screens.rpy:265
old "Quick"
new "クイック"
# game/screens.rpy:272
old "Next"
new "次へ"
# game/screens.rpy:298
old "Empty Slot."
new "空きスロット"
# game/screens.rpy:357
old "Display"
new "画面表示"
# game/screens.rpy:358
old "Window"
new "ウィンドウ"
# game/screens.rpy:359
old "Fullscreen"
new "フルスクリーン"
# game/script.rpy:22
old "Transitions"
new "画面効果"
# game/screens.rpy:366
old "All"
new "有り"
# game/screens.rpy:367
old "None"
new "無し"
# game/screens.rpy:373
old "Text Speed"
new "文字表示速度"
# game/screens.rpy:380
old "Joystick..."
new "ジョイスティック"
# game/screens.rpy:387
old "Language"
new "言語"
# game/screens.rpy:397
old "Skip"
new "スキップ"
# game/screens.rpy:398
old "Seen Messages"
new "既読のみ"
# game/screens.rpy:399
old "All Messages"
new "未読も含む"
# game/screens.rpy:405
old "Begin Skipping"
new "スキップ開始"
# game/screens.rpy:411
old "After Choices"
new "選択肢の後"
# game/screens.rpy:412
old "Stop Skipping"
new "スキップ停止"
# game/screens.rpy:413
old "Keep Skipping"
new "スキップ継続"
# game/screens.rpy:419
old "Auto-Forward Time"
new "オート待ち時間"
# game/screens.rpy:427
old "Music Volume"
new "音楽の音量"
# game/screens.rpy:434
old "Sound Volume"
new "効果音の音量"
# game/screens.rpy:438
old "Test"
new "テスト"
# game/screens.rpy:446
old "Voice Volume"
new "ボイスの音量"
# game/screens.rpy:504
old "Yes"
new "はい"
# game/screens.rpy:505
old "No"
new "いいえ"
# game/screens.rpy:527
old "Q.Save"
new "Q.セーブ"
# game/screens.rpy:528
old "Q.Load"
new "Q.ロード"
# game/screens.rpy:529
old "Save"
new "セーブ"
# game/screens.rpy:532
old "Prefs"
new "設定"
translate japanese strings:
# game/screens.rpy:423
old "Wait for Voice"
new "ボイス待ち"
# game/screens.rpy:535
old "Back"
new "巻き戻し"
# game/screens.rpy:540
old "F.Skip"
new "F.スキップ"
translate japanese strings:
# game/screens.rpy:453
old "Voice Sustain"
new "改頁後もボイス継続"
-155
View File
@@ -1,155 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/script.rpy:85
translate japanese start_0e6a5bb4:
# e "Hi! My name is Eileen, and I'd like to welcome you to the Ren'Py tutorial."
e "こんにちは!私の名前はエイリーンです。Ren'Pyのチュートリアルに歓迎したいと思います。"
# game/script.rpy:89
translate japanese start_d3abb53c:
# e "In this tutorial, we'll teach you the basics of Ren'Py, so you can make games of your own. We'll also demonstrate many features, so you can see what Ren'Py is capable of."
e "このチュートリアルでRen'Pyの基本的な部分について教えるので、あなた自身のゲームを作ることが可能です。私たちはたくさんのデモも見せるので、Ren'Pyでできることを見ていって下さい。"
# game/script.rpy:118
translate japanese end_b2482727:
# e "Thank you for viewing this tutorial."
e "このチュートリアルをご覧いただきありがとうございました。"
# game/script.rpy:120
translate japanese end_38362e36:
# e "If you'd like to see a full Ren'Py game, select \"The Question\" in the launcher."
e "Ren'Pyの完全なゲームを見たい場合は、ランチャーで、\"The Question\" を選んでください。"
# game/script.rpy:122
translate japanese end_894a9e66:
# e "You can download new versions of Ren'Py from {a=http://www.renpy.org/}http://www.renpy.org/{/a}. For help and discussion, check out the {a=http://lemmasoft.renai.us/forums/}Lemma Soft Forums{/a}."
e "Ren'Pyの新しいバージョンは {a=http://www.renpy.org/}http://www.renpy.org/{/a} からダウンロードできます。ヘルプや相談は {a=http://lemmasoft.renai.us/forums/}Lemma Soft Forums{/a} を参照して下さい。"
# game/script.rpy:124
translate japanese end_a898b369:
# e "We'd like to thank Piroshki for contributing my sprites, Mugenjohncel for Lucy and the band, and Jake for the magic circle."
e "私のスプライトを描いてくれたPiroshki、ルーシーとバンドを描いてくれたMugenjohncel、魔方陣を描いてくれたJakeに感謝します。"
# game/script.rpy:126
translate japanese end_9b09af4e:
# e "The background music is \"Happy Alley\" by Kevin MacLeod. The concert music is by Alessio."
e "バックグラウンドミュージックはKevin MacLeodの\"Happy Alley\"。コンサートミュージックはAlessioの曲でした。"
# game/script.rpy:130
translate japanese end_57c21073:
# e "We look forward to seeing what you can make with Ren'Py. Have fun!"
e "私たちはあなたがRen'Pyで作品を作れることを楽しみにしています。頑張って!"
translate japanese strings:
# game/script.rpy:14
old "Eileen"
new "エイリーン"
# game/script.rpy:19
old "User Experience"
new "ユーザーエクスペリエンス"
# game/script.rpy:20
old "Writing Dialogue"
new "会話の書き方"
# game/script.rpy:21
old "Adding Images"
new "画像の追加"
# game/script.rpy:23
old "Music and Sound Effects"
new "音楽と効果音"
# game/script.rpy:24
old "In-Game Menus and Python"
new "ゲーム中のメニューとPython"
# game/script.rpy:25
old "Screen Positions"
new "スクリーンの位置"
# game/script.rpy:26
old "Animation and Transformation"
new "アニメーションと変換"
# game/script.rpy:27
old "Video Playback"
new "動画の再生"
# game/script.rpy:28
old "Transition Gallery"
new "トランジションのギャラリー"
# game/script.rpy:29
old "Image Operations"
new "画像の操作"
# game/script.rpy:30
old "User Interaction"
new "ユーザーインターフェイス"
# game/script.rpy:31
old "Fonts and Text Tags"
new "フォントとテキストタグ"
# game/script.rpy:32
old "Character Objects"
new "キャラクターオブジェクト"
# game/script.rpy:33
old "Layers & Advanced Show"
new "レイヤーと高度な表示"
# game/script.rpy:34
old "NVL Mode"
new "NVLモード"
# game/script.rpy:35
old "Dynamic Displayables"
new "ダイナミック表示"
# game/script.rpy:36
old "Minigames"
new "ミニゲーム"
# game/script.rpy:37
old "Persistent Data"
new "永続的なデータ"
# game/script.rpy:38
old "Transform"
new "変換"
# game/script.rpy:39
old "Sprites"
new "スプライト"
# game/script.rpy:64
old "That's enough for now."
new "今は十分です。"
# game/script.rpy:99
old "What would you like to see?"
new "何を見たいですか?"
# game/script.rpy:101
old "Is there anything else you'd like to see?"
new "他に見たいものはありますか?"
# game/script.rpy:126
translate japanese end_762dc07a:
# e "The background music is \"Sunflower Slow Drag\", by Scott Joplin and Scott Hayden, performed by the United States Marine Band. The concert music is by Alessio."
e "バックグラウンドミュージックは Scott Joplin と Scott Hayden による \"Sunflower Slow Drag\" です。"
-7
View File
@@ -1,7 +0,0 @@
translate japanese style default:
font "MTLc3m.ttf"
language "japanese-strict"
translate japanese style _default:
font "MTLc3m.ttf"
language "japanese-strict"
@@ -1,562 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/tutorial_atl.rpy:187
translate japanese tutorial_positions_a09a3fd1:
# e "In this tutorial, I'll teach you how Ren'Py positions things on the screen. But before that, let's learn a little bit about how Python handles numbers."
e "このチュートリアルでは、Ren'Pyの画面上の位置のことについて教えます。しかしその前に、Pythonが数字をどのように扱っているか少し学びましょう。"
# game/tutorial_atl.rpy:189
translate japanese tutorial_positions_ba39aabc:
# e "There are two main kinds of numbers in Python: integers and floating point numbers. An integer consists entirely of digits, while a floating point number has a decimal point."
e "Pythonでは数字は主に2種類あります。整数と浮動小数点数です。整数は数字のみで構成されており、浮動小数点数には小数点があります。"
# game/tutorial_atl.rpy:191
translate japanese tutorial_positions_a60b775d:
# e "For example, 100 is an integer, while 0.5 is a floating point number, or float for short. In this system, there are two zeros: 0 is an integer, and 0.0 is a float."
e "例えば、100は整数で、0.5は浮動小数点数またはfloatやshortといいます。このシステムでは0は2種類あります。0は整数、0.0は小数です。"
# game/tutorial_atl.rpy:193
translate japanese tutorial_positions_7f1a560c:
# e "Ren'Py uses integers to represent absolute coordinates, and floats to represent fractions of an area with known size."
e "Ren'Pyは絶対座標の表現に整数を用います。小数は決まった領域を分割した表現をするのに用います。"
# game/tutorial_atl.rpy:195
translate japanese tutorial_positions_8e7d3e52:
# e "When we're positioning something, the area is usually the entire screen."
e "何かの位置を決定するとき、領域は通常スクリーン全体です。"
# game/tutorial_atl.rpy:197
translate japanese tutorial_positions_fdcf9d8b:
# e "Let me get out of the way, and I'll show you where some positions are."
e "私はここから離れ、どこを位置するのか見せます。"
# game/tutorial_atl.rpy:211
translate japanese tutorial_positions_76d7a5bf:
# e "The origin is the upper-left corner of the screen. That's where the x position (xpos) and the y position (ypos) are both zero."
e "原点は画面左上の角です。ここはX座標(xpos)、Y座標(ypos)ともに0となります。"
# game/tutorial_atl.rpy:217
translate japanese tutorial_positions_be14c7c3:
# e "When we increase xpos, we move to the right. So here's an xpos of .5, meaning half the width across the screen."
e "xpos を増やすと右に移動します。ここの xpos は .5 で、画面の幅の半分を意味します。"
# game/tutorial_atl.rpy:222
translate japanese tutorial_positions_9b91be6c:
# e "Increasing xpos to 1.0 moves us to the right-hand border of the screen."
e "xpos を 1.0 に増やすと、画面右手の縁に移動します。"
# game/tutorial_atl.rpy:228
translate japanese tutorial_positions_80be064f:
# e "We can also use an absolute xpos, which is given in an absolute number of pixels from the left side of the screen. For example, since this window is 800 pixels across, using an xpos of 400 will return the target to the center of the top row."
e "xpos に絶対座標も使用できます。画面左端からのピクセル数の絶対値で指定します。例えば、このウィンドウの横幅は800ピクセルなので、xpos を 400 にすると、対象は上部中央となります。"
# game/tutorial_atl.rpy:230
translate japanese tutorial_positions_c4d18c0a:
# e "The y-axis position, or ypos works the same way. Right now, we have a ypos of 0.0."
e "Y軸の位置、または ypos についても同じことです。今、ypos を 0.0 にしています。"
# game/tutorial_atl.rpy:236
translate japanese tutorial_positions_16933a61:
# e "Here's a ypos of 0.5."
e "ypos を 0.5 にしました。"
# game/tutorial_atl.rpy:241
translate japanese tutorial_positions_6eb36777:
# e "A ypos of 1.0 specifies a position at the bottom of the screen. If you look carefully, you can see the position indicator spinning below the text window."
e "ypos を 1.0 にすると、画面下部の位置を指定したことになります。よく見ると、ポジションインジケーターがテキストウィンドウの裏にあることが分かります。"
# game/tutorial_atl.rpy:243
translate japanese tutorial_positions_a423050f:
# e "Like xpos, ypos can also be an integer. In this case, ypos would give the total number of pixels from the top of the screen."
e "xpos と同様に ypos も整数にすることができます。この場合は、ypos には画面上部からの全ピクセル数を指定します。"
# game/tutorial_atl.rpy:249
translate japanese tutorial_positions_bc7a809a:
# e "Can you guess where this position is, relative to the screen?" nointeract
e "この位置は画面に対する相対位置でいくらだと思いますか?" nointeract
# game/tutorial_atl.rpy:255
translate japanese tutorial_positions_6f926e18:
# e "Sorry, that's wrong. The xpos is .75, and the ypos is .25."
e "残念でした。間違いです。xpos は .75、ypos は .25 です。"
# game/tutorial_atl.rpy:257
translate japanese tutorial_positions_5d5feb98:
# e "In other words, it's 75%% of the way from the left side, and 25%% of the way from the top."
e "別の言い方をすれば、左側から 75%% の位置で、上側から 25%% の位置です。"
# game/tutorial_atl.rpy:261
translate japanese tutorial_positions_77b45218:
# e "Good job! You got that position right."
e "いいですね。正しい位置を言い当てました。"
# game/tutorial_atl.rpy:265
translate japanese tutorial_positions_6f926e18_1:
# e "Sorry, that's wrong. The xpos is .75, and the ypos is .25."
e "残念でした。間違いです。xpos は .75、ypos は .25 です。"
# game/tutorial_atl.rpy:267
translate japanese tutorial_positions_5d5feb98_1:
# e "In other words, it's 75%% of the way from the left side, and 25%% of the way from the top."
e "別の言い方をすれば、左側から 75%% の位置で、上側から 25%% の位置です。"
# game/tutorial_atl.rpy:281
translate japanese tutorial_positions_e4380a83:
# e "The second position we care about is the anchor. The anchor is a spot on the thing being positioned."
e "2つ目に気をつける位置はアンカーです。アンカーは、物の位置決めをするための点です。"
# game/tutorial_atl.rpy:283
translate japanese tutorial_positions_d1db1246:
# e "For example, here we have an xanchor of 0.0 and a yanchor of 0.0. It's in the upper-left corner of the logo image."
e "例えば、今は xanchor が 0.0、yanchor が 0.0 です。この位置はロゴ画像の左上角に当たります。"
# game/tutorial_atl.rpy:288
translate japanese tutorial_positions_6056873f:
# e "When we increase the xanchor to 1.0, the anchor moves to the right corner of the image."
e "xanchor を 1.0 に増やすと、アンカーは画像の右上角に移動します。"
# game/tutorial_atl.rpy:293
translate japanese tutorial_positions_7cdb8dcc:
# e "Similarly, when both xanchor and yanchor are 1.0, the anchor is the bottom-right corner."
e "同様に、xanchor と yanchor とも 1.0 にすると、アンカーは右下角になります。"
# game/tutorial_atl.rpy:301
translate japanese tutorial_positions_03a07da8:
# e "To place an image on the screen, we need both the position and the anchor."
e "画面上に画像を位置づけするには、位置とアンカーが必要になります。"
# game/tutorial_atl.rpy:309
translate japanese tutorial_positions_8945054f:
# e "We then line them up, so that both the position and anchor are at the same point on the screen."
e "その2つを並べ、位置とアンカーは画面上の同一の点となります。"
# game/tutorial_atl.rpy:319
translate japanese tutorial_positions_2b184a93:
# e "When we place both in the upper-left corner, the image moves to the upper-left corner of the screen."
e "両方の場所を左上角にとると、画像は画面上の左上角に移動します。"
# game/tutorial_atl.rpy:328
translate japanese tutorial_positions_5aac4f3f:
# e "With the right combination of position and anchor, any place on the screen can be specified, without even knowing the size of the image."
e "位置とアンカーを適切に組み合わせることで、画像の大きさを知らなくても画面上のあらゆる場所を指定できます。"
# game/tutorial_atl.rpy:340
translate japanese tutorial_positions_3b59b797:
# e "It's often useful to set xpos and xanchor to the same value. We call that xalign, and it gives a fractional position on the screen."
e "xpos と xanchor を同じ値にすると扱いやすいことがあります。これを xalign といい、画面上の位置を小数で指定します。"
# game/tutorial_atl.rpy:345
translate japanese tutorial_positions_b8ebf9fe:
# e "For example, when we set xalign to 0.0, things are aligned to the left side of the screen."
e "例えば、xalign を 0.0 にすると、画像は画面左側に整列します。"
# game/tutorial_atl.rpy:350
translate japanese tutorial_positions_8ce35d52:
# e "When we set it to 1.0, then we're aligned to the right side of the screen."
e "1.0 にすると、画面右側に整列します。"
# game/tutorial_atl.rpy:355
translate japanese tutorial_positions_6745825f:
# e "And when we set it to 0.5, we're back to the center of the screen."
e "そして 0.5 にすると、画面中央に戻ります。"
# game/tutorial_atl.rpy:357
translate japanese tutorial_positions_64428a07:
# e "Setting yalign is similar, except along the y-axis."
e "yalign の設定も同様ですが、Y軸に沿います。"
# game/tutorial_atl.rpy:359
translate japanese tutorial_positions_cfb77d42:
# e "Remember that xalign is just setting xpos and xanchor to the same value, and yalign is just setting ypos and yanchor to the same value."
e "xalign は xpos と xanchor を同じ値にするだけ、yalign は ypos と yanchor 同じ値にするだけであることを覚えて下さい。"
# game/tutorial_atl.rpy:366
translate japanese tutorial_positions_0f4ca2b6:
# e "Once you understand positions, you can use transformations to move things around the Ren'Py screen."
e "位置について理解できたら、変換を使ってRen'Pyの画面上でものを移動できるようになります。"
# game/tutorial_atl.rpy:373
translate japanese tutorial_atl_a1cc1bff:
# e "While showing static images is often enough for most games, occasionally we'll want to change images, or move them around the screen."
e "ゲームでは静止画を表示することが最も多いですが、時々画像を変えたかったり周囲に移動させたかったりします。"
# game/tutorial_atl.rpy:375
translate japanese tutorial_atl_81dbb8f2:
# e "We call this a Transform, and it's what ATL, Ren'Py's Animation and Transformation Language, is for."
e "私たちはこれを変換(Transform)と呼び、これを行うのがRen'Pyの ATL (Animation and Transformation Language) です。"
# game/tutorial_atl.rpy:383
translate japanese tutorial_atl_65badef3:
# e "But first, let's have... a Gratuitous Rock Concert!"
e "でも、まずはやりましょう... 無償のロックコンサート!"
# game/tutorial_atl.rpy:391
translate japanese tutorial_atl_3ccfe2ac:
# e "That was a lot of work, and before you can do that, we'll need to start with the basics of using ATL."
e "これが出来るようにするのは大変な作業なので、まずはATLの基本的なところから始める必要があります。"
# game/tutorial_atl.rpy:393
translate japanese tutorial_atl_1f22f875:
# e "There are currently three places where ATL can be used in Ren'Py."
e "Ren'Pyには現在、ATLを使用できる場所が3箇所あります。"
# game/tutorial_atl.rpy:397
translate japanese tutorial_atl_fd036bdf:
# e "The first place ATL can be used is as part of an image statement. Instead of a displayable, an image may be defined as a block of ATL code."
e "まず1つ目はimageステートメントの一部としてです。imageステートメントは画像の代わりにATLコードのブロックとして定義できます。"
# game/tutorial_atl.rpy:399
translate japanese tutorial_atl_7cad2ab9:
# e "When used in this way, we have to be sure that ATL includes one or more displayables to actually show."
e "この方法を使うとき、ATLは実際に表示される画像を1つ、または複数含んでいることを確認して下さい。"
# game/tutorial_atl.rpy:403
translate japanese tutorial_atl_c78b2a1e:
# e "The second way is through the use of the transform statement. This assigns the ATL block to a python variable, allowing it to be used in at clauses and inside other transforms."
e "2つ目の方法は、transformステートメントによる方法です。この方法はATLブロックをPythonの変数に割り当てるので、項や他のtransformの内側に使えるようになります。"
# game/tutorial_atl.rpy:407
translate japanese tutorial_atl_da7a7759:
# e "Finally, an ATL block can be used as part of a show statement, instead of the at clause."
e "最後の方法は、ATLブロックをshowステートメントの一部として項の代わりに使う方法です。"
# game/tutorial_atl.rpy:411
translate japanese tutorial_atl_c21bc1d1:
# e "The key to ATL is what we call composeability. ATL is made up of relatively simple commands, which can be combined together to create complicated transforms."
e "ATLの鍵となるのはコンポーザーというものです。ATLは比較的単純なコマンドからなり、それらを組み合わせることで複雑な変換を作成できます。"
# game/tutorial_atl.rpy:413
translate japanese tutorial_atl_ed82983f:
# e "Before I explain how ATL works, let me explain what animation and transformation are."
e "ATLでどのようなことが出来るかの前に、アニメーションと変換とは何かを説明します。"
# game/tutorial_atl.rpy:418
translate japanese tutorial_atl_2807adff:
# e "Animation is when the displayable being shown changes. For example, right now I am changing my expression."
e "アニメーションは画像の表示が変わるときを言います。例えば、このように私の表情が変化しているようにです。"
# game/tutorial_atl.rpy:445
translate japanese tutorial_atl_3eec202b:
# e "Transformation involves moving or distorting an image. This includes placing it on the screen, zooming it in and out, rotating it, and changing its opacity."
e "変換は、画像が移動や変形を伴うときを言います。画面への表示、拡大・縮小、回転、透明度の変更といったものが含まれます。"
# game/tutorial_atl.rpy:453
translate japanese tutorial_atl_fbc9bf83:
# e "To introduce ATL, let's start by looking at at a simple animation. Here's one that consists of five lines of ATL code, contained within an image statement."
e "ATLを取り入れるために、簡単なアニメーションを見ることから始めましょう。imageステートメントに含まれた5行からなるATLコードがあります。"
# game/tutorial_atl.rpy:455
translate japanese tutorial_atl_12c839ee:
# e "In ATL, to change a displayable, simply mention it on a line of ATL code. Here, we're switching back and forth between two images."
e "ATLでは、画像を変更するために簡単なコードが記述されています。ここでは2つの画像を交互に切り替えています。"
# game/tutorial_atl.rpy:457
translate japanese tutorial_atl_c671ed7d:
# e "Since we're defining an image, the first line of ATL has to name a displayable. Otherwise, there would be nothing to show."
e "画像を定義するため、ATLの1行目には画像の名前があります。これがない場合、画像は何も表示されません。"
# game/tutorial_atl.rpy:459
translate japanese tutorial_atl_99386181:
# e "The second and fourth lines are pause statements, which cause ATL to wait half of a second each before continuing. That's how we give the delay between images."
e "2行目と4行目にはpauseステートメントがあり、ATLは続行する前に0.5秒間停止します。これで画像と画像の間に時間差を付けることができます。"
# game/tutorial_atl.rpy:461
translate japanese tutorial_atl_60f2a5e8:
# e "The final line is a repeat statement. This causes the current block of ATL to be restarted. You can only have one repeat statement per block."
e "最後の行はrepeatステートメントです。これによって現在のブロックが再スタートします。repeatステートメントは1つのブロックにつき1つまで使えます。"
# game/tutorial_atl.rpy:466
translate japanese tutorial_atl_146cf4c4:
# e "If we were to write repeat 2 instead, the animation would loop twice, then stop."
e "代わりに repeat 2 と書いた場合は、アニメーションは2回繰り返して停止します。"
# game/tutorial_atl.rpy:471
translate japanese tutorial_atl_d90b1838:
# e "Omitting the repeat statement means that the animation stops once we reach the end of the block of ATL code."
e "repeatステートメントを省略した場合は、一度ATLコードの終端に達するとアニメーションは停止します。"
# game/tutorial_atl.rpy:476
translate japanese tutorial_atl_e5872360:
# e "By default, displayables are replaced instantaneously. We can also use a with clause to give a transition between displayables."
e "デフォルトでは画像は瞬時に置き換えられます。設定すれば、画像と画像の間にトランジションをつけることもできます。"
# game/tutorial_atl.rpy:483
translate japanese tutorial_atl_a7f8ed01:
# e "Now, let's move on to see how we can use ATL to transform an image. We'll start off by seeing what we can do to position images on the screen."
e "では、次はATLをどのように使うことで画像を変換できるか見てみましょう。画像の配置を変えることから始めます。"
# game/tutorial_atl.rpy:492
translate japanese tutorial_atl_24501213:
# e "Perhaps the simplest thing we can do is to position the images on the screen. This can be done by simply giving the names of the transform properties, each followed by the value."
e "おそらく、最も簡単に出来ることは画像の配置を変えることです。これは単純に、決まった変換プロパティーに各々の値を設定するだけでできます。"
# game/tutorial_atl.rpy:497
translate japanese tutorial_atl_43516492:
# e "With a few more statements, we can move things around on the screen."
e "さらにいくつかのステートメントを加えると、画面上を移動させることができます。"
# game/tutorial_atl.rpy:499
translate japanese tutorial_atl_8b053b5a:
# e "This code starts the image off at the top-right of the screen, and waits a second."
e "このコードは、まず画像を画面右上に設置して、1秒間待機します。"
# game/tutorial_atl.rpy:501
translate japanese tutorial_atl_d7fc5372:
# e "It then moves it to the left side, waits another second, and repeats."
e "次に画像を左側に設置してもう1秒間待ち、それを繰り返します。"
# game/tutorial_atl.rpy:503
translate japanese tutorial_atl_7650ec09:
# e "The pause and repeat statements are the same statements we used in our animations. They work throughout ATL code."
e "pauseとrepeatステートメントは、アニメーションの時に使ったステートメントと同じです。これらはATLコード全体で動作します。"
# game/tutorial_atl.rpy:508
translate japanese tutorial_atl_d3416d4f:
# e "Having the image jump around on the screen isn't all that useful. That's why ATL has the interpolation statement."
e "画像が画面を跳び回るのは、使いやすいとは限りません。そこで、ATLには補間ステートメントがあります。"
# game/tutorial_atl.rpy:510
translate japanese tutorial_atl_4e7512ec:
# e "The interpolation statement allows you to smoothly vary the value of a transform property, from an old to a new value."
e "補間ステートメントを使うと、変換プロパティーの値を古い値から新しい値に徐々に変化させることができます。"
# game/tutorial_atl.rpy:512
translate japanese tutorial_atl_685eeeaa:
# e "Here, we have an interpolation statement on the second ATL line. It starts off with the name of a time function, in this case linear."
e "ATLの2行目に補間ステートメントを入れたものです。これは時間関数の名前から始まっています。この場合は linear です。"
# game/tutorial_atl.rpy:514
translate japanese tutorial_atl_c5cb49de:
# e "That's followed by an amount of time, in this case three seconds. It ends with a list of properties, each followed by its new value."
e "次に継続時間が来ます。この場合は3秒です。そしてプロパティーのリストで終わります。各プロパティーにはそれぞれの新しい値が続きます。"
# game/tutorial_atl.rpy:516
translate japanese tutorial_atl_72d47fb6:
# e "The old value is the value of the transform property at the start of the statement. By interpolating the property over time, we can change things on the screen."
e "古い値は、ステートメントの始めにある変換プロパティーの値です。一定期間プロパティーを補間することで、この値を変えられます。"
# game/tutorial_atl.rpy:526
translate japanese tutorial_atl_2958f397:
# e "ATL supports more complicated move types, like circle and spline motion. But I won't be showing those here."
e "ATLは、円や曲線的な動きのような、もっと複雑な動きにも対応しています。しかし、ここでは示しません。"
# game/tutorial_atl.rpy:528
translate japanese tutorial_atl_4a02c8d8:
# e "Next, let's take a look at some of the transform properties that we can change using ATL."
e "次に、ATLを使って変えられる変換プロパティーをいくつか見てみましょう。"
# game/tutorial_atl.rpy:543
translate japanese tutorial_atl_821fcb91:
# e "We've already seen the position properties. Along with xalign and yalign, we support the xpos, ypos, xanchor, and yanchor properties."
e "位置プロパティーは既に見ました。xalign、yalign、xpos、ypos、xanchor、yanchorプロパティーも同様に対応しています。"
# game/tutorial_atl.rpy:558
translate japanese tutorial_atl_cca5082b:
# e "We can perform a pan by using xpos and ypos to position images off of the screen."
e "xposとyposを使って画像の位置を変えることで、パンを演出できます。"
# game/tutorial_atl.rpy:560
translate japanese tutorial_atl_0394dd50:
# e "This usually means giving them negative positions."
e "パンでは通常、位置に負の値を設定します。"
# game/tutorial_atl.rpy:577
translate japanese tutorial_atl_2624662e:
# e "The zoom property lets us scale the displayable by a factor, making it bigger and smaller. For best results, zoom should always be greater than 0.5."
e "zoomプロパティーを使うと、倍率によって画像を拡大・縮小できます。いい結果を得るには、倍率は常に0.5以上にすべきです。"
# game/tutorial_atl.rpy:591
translate japanese tutorial_atl_b6527546:
# e "The xzoom and yzoom properties allow the displayable to be scaled in the X and Y directions independently."
e "xzoomとyzoomプロパティーを使うと、画像をX方向とY方向、別々にスケールできます。"
# game/tutorial_atl.rpy:602
translate japanese tutorial_atl_9fe238de:
# e "The size property can be used to set a size, in pixels, that the displayable is scaled to."
e "sizeプロパティーは、大きさをピクセル単位で設定することで、画像をスケールできます。"
# game/tutorial_atl.rpy:617
translate japanese tutorial_atl_6b982a23:
# e "The alpha property allows us to vary the opacity of a displayable. This can make it appear and disappear."
e "alphaプロパティーを使うと、画像の透明度を変えられます。これによって、画像の表示・非表示を切り替えられます。"
# game/tutorial_atl.rpy:631
translate japanese tutorial_atl_60d6d9f3:
# e "The rotate property lets us rotate a displayable."
e "rotateプロパティーを使うと、画像を回転できます。"
# game/tutorial_atl.rpy:633
translate japanese tutorial_atl_898a138a:
# e "Since rotation can change the size, usually you'll want to set xanchor and yanchor to 0.5 when positioning a rotated displayable."
e "回転処理は画像の大きさが変わるので、画像を回転させる時は通常xanchorとyanchorを0.5に設定する必要があります。"
# game/tutorial_atl.rpy:644
translate japanese tutorial_atl_207b7fc8:
# e "The crop property crops a rectangle out of a displayable, showing only part of it."
e "cropプロパティーは画像を長方形に切り抜いて、一部のみ表示します。"
# game/tutorial_atl.rpy:658
translate japanese tutorial_atl_ebb84988:
# e "When used together, they can be used to focus in on specific parts of an image."
e "これらを一緒に使うと、画像を指定した部分にフォーカスできます。"
# game/tutorial_atl.rpy:664
translate japanese tutorial_atl_d08fe8d9:
# e "Apart from displayables, pause, interpolation, and repeat, there are a few other statements we can use as part of ATL."
e "画像、一時停止、補間、繰り返しの他に、ATLの一部に使えるステートメントはもう少しあります。"
# game/tutorial_atl.rpy:678
translate japanese tutorial_atl_db6302bd:
# e "When we create an ATL transform using the transform statement, we can use that transform as an ATL statement."
e "transformステートメントを使ってATL変換を作ると、その変換をATLのステートメントに使うことができます。"
# game/tutorial_atl.rpy:680
translate japanese tutorial_atl_785911cf:
# e "Since the default positions are also transforms, this means that we can use left, right, and center inside of an ATL block."
e "デフォルトの位置も変換の一つなので、left、right、centerをATLブロックの中に使えます。"
# game/tutorial_atl.rpy:698
translate japanese tutorial_atl_331126c1:
# e "Here, we have two new statements. The block statement allows you to include a block of ATL code. Since the repeat statement applies to blocks, this lets you repeat only part of an ATL transform."
e "ここで、新しいステートメントが2つ出てきました。blockステートメントを使うと、ATLコードにブロックを含められるようになります。ブロックの中でrepeatステートメントが使われると、ATL変換の一部だけが繰り返されます。"
# game/tutorial_atl.rpy:700
translate japanese tutorial_atl_24f67b67:
# e "We also have the time statement, which runs after the given number of seconds have elapsed from the start of the block. It will run even if another statement is running, stopping the other statement."
e "timeステートメントもあります。これは、ブロックが開始してから指定した時間が経過すると、次に進みます。これは、たとえ他のステートメントが実行中であっても、それを止めて実行します。"
# game/tutorial_atl.rpy:702
translate japanese tutorial_atl_30dc0008:
# e "So this code will bounce the image back and forth for eleven and a half seconds, and then move back to the right side of the screen."
e "なので、このコードはまず画像を左右に弾ませることを11.5秒間行い、その後、画像を画面右側に戻します。"
# game/tutorial_atl.rpy:718
translate japanese tutorial_atl_f903bc3b:
# e "The parallel statement lets us run two blocks of ATL code at the same time."
e "parallelステートメントを使うと、2つのATLコードのブロックを同時に実行できます。"
# game/tutorial_atl.rpy:720
translate japanese tutorial_atl_5d0f8f9d:
# e "Here, the top block move the image in the horizontal direction, and the bottom block moves it in the vertical direction. Since they're moving at different speeds, it looks like the image is bouncing on the screen."
e "ここでは、前のブロックでは画像を水平方向に移動し、後ろのブロックでは垂直方向に移動します。これらは異なる速度で動いているので、画像が画面上を跳ねているように見えます。"
# game/tutorial_atl.rpy:737
translate japanese tutorial_atl_28a7d27e:
# e "Finally, the choice statement makes Ren'Py randomly pick a block of ATL code. This allows you to add some variation as to what Ren'Py shows."
e "最後に、choiceステートメントはRen'PyにATLコードのブロックをランダムに選択させます。これにより、Ren'Pyの表示を様々なバリエーションにできます。"
# game/tutorial_atl.rpy:743
translate japanese tutorial_atl_5fc8c0df:
# e "This tutorial game has only scratched the surface of what you can do with ATL. For example, we haven't even covered the on and event statements. For more information, you might want to check out the ATL chapter in the reference manual."
e "このチュートリアルゲームでやったことは、ATLで出来ることのほんの一部に過ぎません。例えば、onとeventステートメントについては扱っていません。更なる情報はリファレンスマニュアルのATLの章を見るといいでしょう。"
# game/tutorial_atl.rpy:747
translate japanese tutorial_atl_1358c6b4:
# e "But for now, just remember that when it comes to animating and transforming, ATL is the hot new thing."
e "しかし今は、アニメーションと変換について、ATLは最新の方法だということを覚えておいて下さい。"
translate japanese strings:
# game/tutorial_atl.rpy:249
old "xpos 1.0 ypos .5"
new "xpos 1.0 ypos .5"
# game/tutorial_atl.rpy:249
old "xpos .75 ypos .25"
new "xpos .75 ypos .25"
# game/tutorial_atl.rpy:249
old "xpos .25 ypos .33"
new "xpos .25 ypos .33"
@@ -1,180 +0,0 @@
# Translation updated at 2013-02-18 11:40
# game/tutorial_playing.rpy:16
translate japanese tutorial_playing_2985ab86:
# e "As someone who has played more than a few visual novels, there are many features that I expect all games to have."
e "いくつかのビジュアルノベルをやってきた者として、ここにはすべてのゲームに期待するたくさんの機能があります。"
# game/tutorial_playing.rpy:18
translate japanese tutorial_playing_ca4769bb:
# e "Features like saving, loading, changing preferences, and so on."
e "セーブ、ロード、設定の変更といった機能です。"
# game/tutorial_playing.rpy:20
translate japanese tutorial_playing_f30f1979:
# e "One of the nice things about Ren'Py is that the engine provides many of these features for you. You can spend your time creating your game, and let us provide these things."
e "Ren'Pyの素晴らしいことの一つは、エンジンがこれらたくさんの機能を提供することです。これらの機能の提供は私たちに任せ、あなたはゲームの作成に時間を費やすことができます。"
# game/tutorial_playing.rpy:22
translate japanese tutorial_playing_afa743e7:
# e "While you're in the game, you can access the game menu by right clicking or hitting the escape key."
e "ゲーム中は、右クリックかエスケープキーを押すことでゲームメニューにアクセスできます。"
# game/tutorial_playing.rpy:28
translate japanese tutorial_playing_8360224a:
# e "When you first enter the game menu, you'll see the save screen. Clicking on a numbered slot will save the game."
e "初めてゲームメニューに入るとセーブ画面が表示されます。番号のついたスロットをクリックするとゲームが保存されます。"
# game/tutorial_playing.rpy:30
translate japanese tutorial_playing_6d0ef6c9:
# e "Unlike other engines, Ren'Py doesn't limit the number of save slots that you can use."
e "他のエンジンと異なることは、Ren'Pyは使えるセーブスロット数に上限を設定していないことです。"
# game/tutorial_playing.rpy:32
translate japanese tutorial_playing_fea05c6b:
# e "The load screen looks quite similar to the save screen, and lets you load a game from a save slot."
e "ロード画面はセーブ画面に非常によく似ており、セーブスロットからゲームをロードできます。"
# game/tutorial_playing.rpy:34
translate japanese tutorial_playing_8e7e83a8:
# e "It also lets you load one of the auto-saves that Ren'Py makes for you."
e "また、Ren'Pyではあなたのためになる自動保存データもロードできます。"
# game/tutorial_playing.rpy:39
translate japanese tutorial_playing_2bad7992:
# e "The other screen of the game menu is the preferences screen."
e "ゲームメニューにはその他設定画面があります。"
# game/tutorial_playing.rpy:41
translate japanese tutorial_playing_eaac8ba9:
# e "This screen lets you decide how Ren'Py displays, pick what Ren'Py skips, control text speed and auto-click speed, and adjust sound, music, and voice volumes."
e "この画面では、Ren'Pyの画面表示の決定、何をスキップするかの選択、テキストの速度と自動クリックの速度のコントロール、音、曲、声の音量調節ができます。"
# game/tutorial_playing.rpy:43
translate japanese tutorial_playing_b1562a34:
# e "The game menu also lets you end the game and return to the main menu, or quit Ren'Py entirely."
e "このゲームメニューでは他にも、ゲームを終了してメインメニューに戻ったり、Ren'Pyから完全に抜けたりできます。"
# game/tutorial_playing.rpy:48
translate japanese tutorial_playing_790f9dc7:
# e "While the default game menus look a bit generic, with a little work they can be customized or even entirely replaced, allowing you to create menus as unique as your game."
e "デフォルトのゲームメニューはちょっと一般的ですが、少し手を加えるだけでカスタマイズできたり、完全に置き換えたりでき、あなたのゲームにあったユニークなメニューを作成できます。"
# game/tutorial_playing.rpy:54
translate japanese tutorial_playing_bc29822e:
# e "While inside the game, there are a few more things you can do."
e "ゲーム内で出来ることはもう少しあります。"
# game/tutorial_playing.rpy:56
translate japanese tutorial_playing_dc0f9cf7:
# e "When I'm liking a visual novel, I want to see all the endings. Ren'Py's skip function lets me easily do this, by skipping text that I've already seen."
e "私がビジュアルノベルが好きだったときは、すべてのエンディングを見たかったです。Ren'Pyのスキップ機能は既に見たテキストをスキップすることでこれを簡単に行えます。"
# game/tutorial_playing.rpy:58
translate japanese tutorial_playing_6dded697:
# e "I can skip a few lines by holding down Control, or I can toggle skip mode by pressing tab."
e "少しの行だけをスキップする場合はCtrlを押し続けます。また、スキップモードを切り替える場合はtabを押します。"
# game/tutorial_playing.rpy:60
translate japanese tutorial_playing_d3553fbe:
# e "By default, we only skip read text, so this won't do anything the first time through the game."
e "反則してテキストを読まずにスキップすることもあるので、ゲームを通して1回目は何もしません。"
# game/tutorial_playing.rpy:62
translate japanese tutorial_playing_9a605016:
# e "Pressing the 's' key saves a screenshot to disk, so I can upload pictures of the game to websites like {a=http://www.renpy.org}renpy.org{/a}."
e "「s」キーを押すとディスクにスクリーンショットが保存されるので、{a=http://www.renpy.org}renpy.org{/a} のようにゲーム画面をウェブサイトにアップロードできます。"
# game/tutorial_playing.rpy:64
translate japanese tutorial_playing_a9c70134:
# e "Finally, there's rollback, which lets you go back in time to previous screens, letting you re-read text."
e "最後ですが、Ren'Pyには前の画面に遡ることが出来るロールバック機能があり、テキストを読み返すことができます。"
# game/tutorial_playing.rpy:65
translate japanese tutorial_playing_ffcaf528:
# e "Would you like to hear more about rollback?" nointeract
e "ロールバック機能についてもう少し聞きたいですか?" nointeract
# game/tutorial_playing.rpy:80
translate japanese tutorial_rollback_40b09eaf:
# e "You can invoke a rollback by scrolling the mouse wheel up, or by pushing the page up key. That'll bring you back to the previous screen."
e "ロールバック機能は、マウスホイールを上にスクロールするか、page upキーを押すことで呼び出せます。これによって前の画面に戻ります。"
# game/tutorial_playing.rpy:82
translate japanese tutorial_rollback_041be71b:
# e "While at a previous screen, you can roll forward by scrolling the mouse wheel down, or pushing the page down key."
e "ロールバック画面では、マウスホイールを下にスクロールするか、page downキーを押すことでロールフォワードします。"
# game/tutorial_playing.rpy:84
translate japanese tutorial_rollback_1d0e55c3:
# e "Rolling forward through a menu will make the same choice you did last time. But unlike other engines, Ren'Py's rollback system allows you to make a different choice."
e "ロールフォワードは、メニューで最後に選択した方と同じ選択をします。しかし他のエンジンと異なることは、Ren'Pyのロールバック機能はプレイヤーに別の選択を許可することです。"
# game/tutorial_playing.rpy:86
translate japanese tutorial_rollback_a4633f53:
# e "You can try it by rolling back through the last menu, and saying 'No'."
e "試しにロールバックで最後のメニューまで戻って、「いいえ。」を選んでみて下さい。"
# game/tutorial_playing.rpy:88
translate japanese tutorial_rollback_a30f8a06:
# e "Press page up, or scroll up the mouse wheel."
e "page upを押すか、マウスホイールを上にスクロールしなさい。"
# game/tutorial_playing.rpy:92
translate japanese tutorial_rollback_de0b6f5a:
# e "Well, are you going to try it?"
e "えっと、試そうとしてます?"
# game/tutorial_playing.rpy:94
translate japanese tutorial_rollback_6bbdedaa:
# e "Your loss."
e "まあいいわ。"
# game/tutorial_playing.rpy:96
translate japanese tutorial_rollback_dce979d4:
# e "Moving on."
e "次に行きましょう。"
# game/tutorial_playing.rpy:102
translate japanese tutorial_rollback_done_54d6ee45:
# e "By allowing Ren'Py to take care of out-of-game issues like loading and saving, you can focus on making your game, while still giving users the experience they've come to expect."
e "Ren'Pyはロードとセーブのようなゲーム以外の問題の世話ができるため、期待しているユーザーに良い体験をさせながら、あなたはゲームの作成に集中できます。"
translate japanese strings:
# game/tutorial_playing.rpy:65
old "Yes."
new "はい。"
# game/tutorial_playing.rpy:65
old "No."
new "いいえ。"

Some files were not shown because too many files have changed in this diff Show More