PennController
trial checks that the specific resources it uses are preloaded before it starts.
You can change this behavior and have control over when and which resources should be checked for preloading by using the command PennController.CheckPreloaded
.
[js]PennController.CheckPreloaded()[/js] creates an item that checks that all the resources are preloaded before proceeding. You can also specify that only the resources used by certain items should be checked:
[js]
PennController.CheckPreloaded(
startsWith(“practice”)
,
startsWith(“test”)
,
“exitItem”
)
[/js]
This code will create an item that checks preloading for the resources of all the PennController trials whose label starts with practice
or test
, or is exitItem
, and only those.
Finally, you can pass a number as the last argument to specify a delay (in milliseconds) after which, even if not all the resources have been preloaded, the next item in the sequence should start anyway:
[js]
PennController.CheckPreloaded(
startsWith(“test”)
,
5000
)[/js]
To control when in the flow of your experiment the resources should be checked for preloading, use the label
command onto the item generated by PennController.CheckPreload
to assign it a label, and refer to it in PennController.Sequence
.
Complete Example
[js try=”data”]
PennController.ResetPrefix( null );
PennController.Sequence( “welcome” , “preloadPractice” , startsWith(“practice”) , “preloadTest” , startsWith(“Test”) );
PennController.AddHost( “http://files.lab.florianschwarz.net/ibexfiles/PennController/SampleTrials/” );
PennController.CheckPreloaded( startsWith(“Practice”) )
.label( “preloadPractice” );
PennController.CheckPreloaded( startsWith(“Test”) )
.label( “preloadTest” );
PennController( “welcome” ,
newText( “message” , “Welcome. The resources are currently being preloaded. The next trial won’t start before all the resources for the ‘practice’ trial are loaded (i.e. 1fishSquareTank.png).”)
.print()
,
newButton(“start”, “Start”)
.print()
.wait()
);
PennController( “practice-1” ,
newImage(“tank”, “1fishSquareTank.png”)
.print()
,
newText(“description”, “The tank is round.”)
.print()
,
newKey(“validate”, “FJ”)
.wait()
);
PennController( “practice-2” ,
newImage(“tank”, “1fishSquareTank.png”)
.print()
,
newText(“description”, “The tank is square.”)
.print()
,
newKey(“validate”, “FJ”)
.wait()
);
PennController( “Test-1” ,
newImage(“tank”, “2fishRoundTank.png”)
.print()
,
newText(“description”, “The tank is round.”)
.print()
,
newKey(“validate”, “FJ”)
.wait()
);
PennController( “Test-2” ,
newImage(“tank”, “2fishRoundTank.png”)
.print()
,
newText(“description”, “The tank is square.”)
.print()
,
newKey(“validate”, “FJ”)
.wait()
);
[/js]
Index
- Installing PennController
- Ontology
- Aesthetics
- Preloading resources
- ZIPped resources
- Spreadsheet (CSV)
- Canvas creation
- Setup for audio recordings collection
- Commands by element categories
- Standard Element Commands
- Audio element
- Button element
- Canvas element
- Function element
- Html element
- Image element
- Key element
- Scale element
- Selector element
- Text element
- TextInput element
- Tooltip element
- Timer element
- Var element
- Video element
- VoiceRecorder element
- Youtube element
- Special clear command
- Special end command
- Global PennController Commands
- PennController
- PennController.AddHost
- PennController.AddTable
- PennController.CheckPreloaded
- PennController.DownloadVoiceButton
- PennController.FeedItems
- PennController.Footer
- PennController.GetTable
- PennController.GetURLParameter
- PennController.Header
- PennController.InitiateRecorder
- PennController.PreloadZip
- PennController.ResetPrefix
- PennController.Template