This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
link [2014/02/07 03:55] l [Setting variables with setter-links] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== About Links ===== | ||
- | **Links** are the player's means of moving between [[passage]]s and affecting the story. They are the equivalent of being told to turn to another page in a nonlinear book; in gamebooks, for example, you do this to make decisions for the main character. But this isn't the only possible kind of link. Deena Larsen describes a whole taxonomy of links in [[http://www.deenalarsen.net/fundamentals/|Fundamentals: A Rhetorical Devices for Electronic Literature]]. | ||
- | |||
- | ====Usage==== | ||
- | Links are marked like so: | ||
- | >%%[[%%//displayed text//|//title of passage//%%]]%% | ||
- | The two square brackets enclose the whole link, and the pipe symbol separates the displayed text from the passage title. | ||
- | |||
- | There is also a shorter form of the link syntax... | ||
- | >%%[[%%//passage title//%%]]%% | ||
- | ...where the displayed link text matches the title of the passage it links to. | ||
- | |||
- | If a story has a broken link in it, it is displayed with a red background in your story, and clicking it shows this message: | ||
- | |||
- | //The passage 'The newspaper' doesn't exist.// | ||
- | |||
- | ====External links==== | ||
- | |||
- | You may also add links to external sites. These links look like this: | ||
- | >%%[[%%//DuckDuckGo//|//%%http://www.duckduckgo.com/%%//%%]]%% | ||
- | >%%[[%%//%%http://www.duckduckgo.com/%%//%%]]%% | ||
- | You may link to any address that a reader's web browser will understand. | ||
- | ====Setting variables with setter-links==== | ||
- | |||
- | When you develop more complex stories that use [[variable]]s, it can be very useful to make certain variables be altered by the act of clicking a link. You can accomplish this by inserting an additional square bracket pair into the syntax like so: | ||
- | |||
- | >%%[[%%//displayed text|title of passage//%%][%%//$variable = expression//%%]]%% | ||
- | |||
- | The 'code' portion of the link syntax is treated as if it was a [[<<set>>]] [[macro]] - consult that page to learn about the syntax to use. A link with a piece of code attached like this is called a **setter link**, and the attached code is called its **tail**. |