Flash as2 question (1 Viewer)

mamul

Active Member
Joined
Feb 4, 2005
Messages
914
yo,
is it possible to use a keypress function with a button component? not a regular button now but a component?
any help would be appreciated, head is melted on this one.
 
hello. how have you tried to do this so far? with a normal function? I think, (haven't used flash in a while) you use an action listener... or is it an event listener? damn brain. I'm pretty sure I was looking into it before, but I don't have flash on this computer. let me look into it...
 
I'd just like to have it so that pressing enter does the same job as clicking the button component. I'm modifying a quiz template.
I've already added an event listener for enter and it traces fine. just not sure what step to take next. should i put some event handler function in with the rest of the component function script?
this is over my head!
 
here's the script that controls the components.
Code:
// SECTION 1: EVENT HANDLING FUNCTIONS
 
// 1-1: Initializes entry text field
function onFBInitText(){

 
var router = _parent.SessionArray[_parent.session];
router.assets_path[router.Assets.UserEntry].text = "";
router.assets_path[router.Assets.UserEntry].enabled = true;


}
 
 
 
 
// 1-2: Handles control button clicks
function onFBButton(){
var router = _parent.SessionArray[_parent.session];
if(!router.buttonFlag || router.buttonFlag == false){
evalFB();
var result = (router.result == "C") ? 2 : 3;
router.setFeedback(result);
}
if(router.result == "C"){
if(!router.scoreFlag || router.scoreFlag == false){
router.sessionStop();
router.submitScore();
router.scoreFlag = true;
router.assets_path[router.Assets.UserEntry].enabled = false;
}
router.setNavigation();
}else if (router.result == "W"){
if(router.numOfTries > 1){
if (!router.resetFlag || router.resetFlag == false){
router.buttonFlag = true;
router.resetFlag = true;
router.assets_path[router.Assets.UserEntry].enabled = false;
router.setComponentLabel(router.Assets.ControlButton, router.buttonLabels[4]);
}
else{
router.numOfTries--;
onFBInitText();
router.setFeedback(0);
router.buttonFlag = false;
router.resetFlag = false;
router.setComponentLabel(router.Assets.ControlButton, router.label_state);
}
}
else{
if(!router.scoreFlag || router.scoreFlag == false){
router.sessionStop();
router.submitScore();
router.scoreFlag = true;
router.assets_path[router.Assets.UserEntry].enabled = false;
}
router.setNavigation();



}
}
}
 
 
// 1-3: Evaluate user input and return the result
function evalFB(){
var router = _parent.SessionArray[_parent.session];
var rNameRef = new Array();
var rValueRef = new Array();
var rCorrectRef = new Array();
var response_results = new Array();
var i=0,j=0,count=0;
// Collect user data from parameter Objects and build Arrays for evaluation
for(var x in router.response){
rNameRef[i] = x;
rValueRef[i] = router.response[x];
i++;
}
// Build an array for the response values
for (var y in router.response_value){
rCorrectRef[j] = router.response_value[y];
j++;
}
 
// Reverse the Arrays to put them in order for evaluation
rNameRef = rNameRef.reverse();
rValueRef = rValueRef.reverse();
rCorrectRef = rCorrectRef.reverse();
// Check the string and remove any semi-colons (debugger)
function checkFormat(string){
var newFormat = string.toString().split(";").toString();
return newFormat;
}
// Check the string and remove any trailing commas or semi-colons
function removeChar (string){
var stringFormat = string.toString();
var len = stringFormat.length;
var i=0;
while (i < len) {
if(stringFormat.substr(len-1,1) == "," || stringFormat.substr(len-1,1) == ";"){
stringFormat = stringFormat.slice(0,len-1)
len = stringFormat.length;
continue;
}
else{
break;
}
}
return stringFormat;
}
// Set the correct response and student response values in the host script
router.correct_response = "{"+checkFormat(removeChar(rValueRef))+"}";
router.student_response = "{"+checkFormat(router.assets_path[router.Assets.UserEntry].text)+"}";
// Check for user entry for matches to Response 1,2,3
for(var n=0; n < rValueRef.length; n++){
if(router.case_sensitive == false){
if (typeof router.response[rNameRef[n]] == "number")
{
var response_temp = router.response[rNameRef[n]];
} else {
var response_temp = router.response[rNameRef[n]].toLowerCase();
}
if (response_temp == router.assets_path[router.Assets.UserEntry].text.toLowerCase()) { 
if (rCorrectRef[n] == true) {
response_results[n] = true;
_level.attachMovie("correctmark", "newClip", 10000,
{_x:575, _y:230});




}

else if (rCorrectRef[n] == false) {
response_results[n] = false;




}

}
else {
response_results[n] = "No Match";



}
} else {
if (router.response[rNameRef[n]] == router.assets_path[router.Assets.UserEntry].text) {
if (rCorrectRef[n] == true) {
response_results[n] = true;

}
else if (rCorrectRef[n] == false) {
response_results[n] = false;



}
}
else{
response_results[n] = "No Match";

}
}
}
// If exact match is "off", then check for a match with any word the user enters
if (router.exact_match == false) {
var getText = router.assets_path[router.Assets.UserEntry].text.split(" ");
var textLen = getText.length;

for (var t=0; t< textLen; t++){
if(getText[t].toLowerCase() == rValueRef[0].toLowerCase() && rValueRef[0] <> ""){
response_results[0] = true;
break;

}
else if(getText[t].toLowerCase() == rValueRef[1].toLowerCase() && rValueRef[1] <> ""){
response_results[1] = true;
break;
}
else if(getText[t].toLowerCase() == rValueRef[2].toLowerCase() && rValueRef[2] <> ""){
response_results[2] = true;
break;
}
}
}
// Take Other Responses into account and calculate the result
if (response_results[0] == "No Match" && response_results[1] == "No Match" && response_results[2] == "No Match") {
if (router.response_value.other_responses == true) {
router.result = "C";
}
else if (router.response_value.other_responses == false) {
router.result = "W";
_level.attachMovie("wrongmark","newClip2",this.getNextHighestDepth(),{_x:575, _y:230});

}
}
else if (response_results[0] == true || response_results[1] == true ||response_results[2] == true) {
router.result = "C";
}
else if (response_results[0] == false || response_results[1] == false || response_results[2] == false) {
router.result = "W";

}
}
 

Users who are viewing this thread

Activity
So far there's no one here
Old Thread: Hello . There have been no replies in this thread for 365 days.
Content in this thread may no longer be relevant.
Perhaps it would be better to start a new thread instead.

21 Day Calendar

Lau (Unplugged)
The Sugar Club
8 Leeson Street Lower, Saint Kevin's, Dublin 2, D02 ET97, Ireland

Support thumped.com

Support thumped.com and upgrade your account

Upgrade your account now to disable all ads...

Upgrade now

Latest threads

Latest Activity

Loading…
Back
Top