0 votes
asked by (290 points)
The question pretty much says it all and is not-unrelated to my earlier one. There does not appear to be a (hide:) macro. Is there some way to hide a hidden named passage that has been revealed through (show:)?

Thanks!

1 Answer

0 votes
answered by (114k points)
selected by
 
Best answer

There currently is no (hide:) macro, and you are not the first person to ask for one (Issue #86)

There are a number of ways you could implement this functionality yourself, but as suggested in the linked Issue the simplest is to use a (replace:) macro to empty the named hook's contents.

|fan)[The overhead fan spins lazily.]

(link:"Turn on fan")[\
(show: ?fan)\
(link: "Turn off fan")[(replace: ?fan)[]]\
]

... the above is based on the example supplied in the (show:) macro's documentation.

commented by (290 points)
Thanks, greyelf!
commented by (160 points)

Fan switch example is really intriguing. I was wondering if there is a similar method to repeatedly turn the fan on and off. With Greyelf's cool example above it works for just one cycle.

I put together my own solution for a Space Colony game I'm messing around with. It stretches over three pages (which is pretty cumbersome). It'd be great to try to use the new (hidden:) etc.

Passage 1

Resarch Topic Contents

(display: "openrt")

Passage 2, "openrt"

|openrt>[Research Topic]
		(click-replace: ?openrt)[\
			Research Topic
			
			(display: "rti")\
			]

Passage 3, "rti"

<!-- Research Topic Information-->
This contains useful information contained inside the Research Topic.

(display: "closert")

Passage 4, "closert"

{
|rtbl>[<<]\
	(click-replace: ?rtbl)[\
		(replace: ?openrt)[\
			Research Topic
			]
		(click-replace: ?openrt)[\
			Research Topic
			
			(display: "rti")\
			]
		]
}

 

commented by (180 points)

If you want it to work both ways endlessly, as you have probably figured out by now, you would use the (replace:) macro for both ways.

For example:

[]<Light|
(link-repeat:"Turn on light")[(replace:?Light)[The light is on.]]
(link-repeat:"Turn off light")[(replace:?Light)[The light is off.]]

That's quite simple, but it works.

Welcome to Twine Q&A, where you can ask questions and receive answers from other members of the community.

You can also find hints and information on Twine on the official wiki and the old forums archive.

See a spam question? Flag it instead of downvoting. A question flagged enough times will automatically be hidden while moderators review it.
...