Use of radiobuttons

New Here ,
Mar 09, 2021 Mar 09, 2021

Copy link to clipboard

Copied

Hi, I'm trying to figure out a problem with the use of radio buttons, and radio button groups. I'm trying to set a value to each radio button, so and then use if-tests to use them in my equation. But my radio buttons value won't show up, and I get this error; 

Scene 1; Layer 'Layer_1', Frame 1, Line 166, Column 17  1120: Access of undefined property event

 

Hope someone can help. 

 

This is my code: 

import fl.controls.ComboBox;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;
import fl.controls.DataGrid;
import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;

// Her koder jeg en knapp som gir informasjon angående applikasjonen, og hva man skal gjøre
btnInfo.addEventListener(MouseEvent.MOUSE_OVER, visInfo);
function visInfo(evt: MouseEvent): void {
txtInformasjon.visible = true;
stage.addChild(tabell);

var myFormat: TextFormat = new TextFormat();
myFormat.font = "Verdana";
myFormat.color = 0x000000;
myFormat.size = 15;
txtInformasjon.defaultTextFormat = myFormat;

// !!! text content must come last
txtInformasjon.text = "Dette er en treningskalkulator som beregner kaloriforbruket ditt under aktiviteten du har valgt. Velg aktivitet, så intensitet og så varighet, deretter beregner appen alt for deg!";
}

btnInfo.addEventListener(MouseEvent.MOUSE_OUT, sjulInfo);
function sjulInfo(evt: MouseEvent): void {
txtInformasjon.visible = false;
stage.removeChild(tabell);
}

// -------------------- Del 1: Info ---------------------
//Steg 1: Drar en datagrid til stage, og sletter den. Deretter fyller jeg inn info ang. aktiviteter og intensitet
var tabell: DataGrid = new DataGrid();
tabell.x = 300;
tabell.y = 75;
tabell.width = 500;
tabell.height = 125;

//Steg 3: Setter inn kolonner og rader
var kol1: DataGridColumn = new DataGridColumn("Aktivitet");
var kol2: DataGridColumn = new DataGridColumn("Kcal_per_time");
var kol3: DataGridColumn = new DataGridColumn("Tom");
var kol4: DataGridColumn = new DataGridColumn("Intensivitet");
var kol5: DataGridColumn = new DataGridColumn("Prosent");

// alle kolonnene legges til i tabellen
tabell.addColumn(kol1);
tabell.addColumn(kol2);
tabell.addColumn(kol3);
tabell.addColumn(kol4);
tabell.addColumn(kol5);

//Steg 4: Fyller inn alle cellene med korrekt info
tabell.addItem({
Aktivitet: "Aerobics",
Kcal_per_time: "814",
Tom: ".",
Intensivitet: "Lav",
Prosent: "80% av normalen"
});

tabell.addItem({
Aktivitet: "Bordtennis",
Kcal_per_time: "236",
Tom: ".",
Intensivitet: "Middels",
Prosent: "100% av normalen"
});

tabell.addItem({
Aktivitet: "Fotball",
Kcal_per_time: "510",
Tom: ".",
Intensivitet: "Høy",
Prosent: "120% av normalen"
});

tabell.addItem({
Aktivitet: "Golf",
Kcal_per_time: "244",
Tom: ".",
Intensivitet: ".",
Prosent: "."
});

tabell.addItem({
Aktivitet: "Jogging",
Kcal_per_time: "666",
Tom: ".",
Intensivitet: ".",
Prosent: "."
});


// -------------------- Del 2: Appen ---------------------
//Steg 1: Drar en ComboBox + radiobutton til stage, før jeg sletter de igjen

//Steg 2: Henter ComboBoxen, og legger aktivitetene inn i ComboBoxen
var aktivitet: ComboBox = new ComboBox();
aktivitet.x = 50;
aktivitet.y = 150;
aktivitet.width = 150;
aktivitet.prompt = "Velg en aktivitet";
stage.addChild(aktivitet);

aktivitet.addItem({
label: "Aerobics"
});

aktivitet.addItem({
label: "Bordtennis"
});

aktivitet.addItem({
label: "Fotball"
});

aktivitet.addItem({
label: "Golf"
});

aktivitet.addItem({
label: "Jogging"
});

//Steg 3: Henter radiobuttons
var lav: RadioButton = new RadioButton();
var middels: RadioButton = new RadioButton();
var hoy: RadioButton = new RadioButton();
var rbGrp: RadioButtonGroup = new RadioButtonGroup ("intensivitet");

lav.x = 50;
lav.y = 210;
middels.x = 50;
middels.y = 240;
hoy.x = 50;
hoy.y = 270;

lav.value = 0.80;
hoy.value = 1.20;

lav.label = "Lav";
middels.label = "Middels";
hoy.label = "Høy";

stage.addChild(lav);
stage.addChild(middels);
stage.addChild(hoy);

lav.group = middels.group = hoy.group = rbGrp;

//Steg 4: Definerer nødvendige variabler, samt tømmer tekstbokser
txtMin.text = "";
txtMin.restrict = "0-9";
txtSvar.text = "";

var minutt: int = 0;
var forbruk: int = 0;
var sport: String = "";
var intensivitet: int = 0;

rbGrp.addEventListener (MouseEvent.CLICK, valg);
function valg (evt: MouseEvent) : void {
intensivitet = event.target.selection.value;
}

btnKalori.addEventListener(MouseEvent.CLICK, kalori);
function kalori(evt: MouseEvent): void {
minutt = int(txtMin.text);
sport = aktivitet.selectedLabel;

if (sport == "Aerobics") {
forbruk = (814/60 * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

/* if (sport == "Aerobics" && middels.enabled) {
forbruk = (814/60 * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

if (sport == "Aerobics" && hoy.enabled) {
forbruk = (814/60 * 1.20 * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}*/

}

Views

62

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct Answer

Adobe Community Professional , Mar 09, 2021 Mar 09, 2021
in the future, indicate to us the line with the error. this: function valg (evt: MouseEvent) : void { intensivitet = event.target.selection.value; } should be: function valg (evt: MouseEvent) : void { intensivitet = evt.target.selection.value; }

Likes

Translate

Translate
Adobe Community Professional ,
Mar 09, 2021 Mar 09, 2021

Copy link to clipboard

Copied

in the future, indicate to us the line with the error.

 

this:

 

function valg (evt: MouseEvent) : void {
intensivitet = event.target.selection.value;
}

 

should be:

 

function valg (evt: MouseEvent) : void {
intensivitet = evt.target.selection.value;
}

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 09, 2021 Mar 09, 2021

Copy link to clipboard

Copied

I'll indicate to you with the error line next time. I have another problem with this code, when I run it the radio buttons value for lav and hoy doesn't work correctly. Do you know how to fix this, so their value works correctly? Heres my updated code: 

import fl.controls.ComboBox;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;
import fl.controls.DataGrid;
import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;

// Her koder jeg en knapp som gir informasjon angående applikasjonen, og hva man skal gjøre
btnInfo.addEventListener(MouseEvent.MOUSE_OVER, visInfo);
function visInfo(evt: MouseEvent): void {
txtInformasjon.visible = true;
stage.addChild(tabell);

var myFormat: TextFormat = new TextFormat();
myFormat.font = "Verdana";
myFormat.color = 0x000000;
myFormat.size = 15;
txtInformasjon.defaultTextFormat = myFormat;

// !!! text content must come last
txtInformasjon.text = "Dette er en treningskalkulator som beregner kaloriforbruket ditt under aktiviteten du har valgt. Velg aktivitet, så intensitet og så varighet, deretter beregner appen alt for deg!";
}

btnInfo.addEventListener(MouseEvent.MOUSE_OUT, sjulInfo);
function sjulInfo(evt: MouseEvent): void {
txtInformasjon.visible = false;
stage.removeChild(tabell);
}

// -------------------- Del 1: Info ---------------------
//Steg 1: Drar en datagrid til stage, og sletter den. Deretter fyller jeg inn info ang. aktiviteter og intensitet
var tabell: DataGrid = new DataGrid();
tabell.x = 300;
tabell.y = 75;
tabell.width = 500;
tabell.height = 125;

//Steg 3: Setter inn kolonner og rader
var kol1: DataGridColumn = new DataGridColumn("Aktivitet");
var kol2: DataGridColumn = new DataGridColumn("Kcal_per_time");
var kol3: DataGridColumn = new DataGridColumn("Tom");
var kol4: DataGridColumn = new DataGridColumn("Intensivitet");
var kol5: DataGridColumn = new DataGridColumn("Prosent");

// alle kolonnene legges til i tabellen
tabell.addColumn(kol1);
tabell.addColumn(kol2);
tabell.addColumn(kol3);
tabell.addColumn(kol4);
tabell.addColumn(kol5);

//Steg 4: Fyller inn alle cellene med korrekt info
tabell.addItem({
Aktivitet: "Aerobics",
Kcal_per_time: "814",
Tom: ".",
Intensivitet: "Lav",
Prosent: "80% av normalen"
});

tabell.addItem({
Aktivitet: "Bordtennis",
Kcal_per_time: "236",
Tom: ".",
Intensivitet: "Middels",
Prosent: "100% av normalen"
});

tabell.addItem({
Aktivitet: "Fotball",
Kcal_per_time: "510",
Tom: ".",
Intensivitet: "Høy",
Prosent: "120% av normalen"
});

tabell.addItem({
Aktivitet: "Golf",
Kcal_per_time: "244",
Tom: ".",
Intensivitet: ".",
Prosent: "."
});

tabell.addItem({
Aktivitet: "Jogging",
Kcal_per_time: "666",
Tom: ".",
Intensivitet: ".",
Prosent: "."
});


// -------------------- Del 2: Appen ---------------------
//Steg 1: Drar en ComboBox + radiobutton til stage, før jeg sletter de igjen

//Steg 2: Henter ComboBoxen, og legger aktivitetene inn i ComboBoxen
var aktivitet: ComboBox = new ComboBox();
aktivitet.x = 50;
aktivitet.y = 150;
aktivitet.width = 150;
aktivitet.prompt = "Velg en aktivitet";
stage.addChild(aktivitet);

aktivitet.addItem({
label: "Aerobics"
});

aktivitet.addItem({
label: "Bordtennis"
});

aktivitet.addItem({
label: "Fotball"
});

aktivitet.addItem({
label: "Golf"
});

aktivitet.addItem({
label: "Jogging"
});

//Steg 3: Henter radiobuttons
var lav: RadioButton = new RadioButton();
var middels: RadioButton = new RadioButton();
var hoy: RadioButton = new RadioButton();
var rbGrp: RadioButtonGroup = new RadioButtonGroup ("intensivitet");

lav.x = 50;
lav.y = 210;
middels.x = 50;
middels.y = 240;
hoy.x = 50;
hoy.y = 270;

lav.value = 0.8;
middels.value = 1;
hoy.value = 1.2;

lav.label = "Lav";
middels.label = "Middels";
hoy.label = "Høy";

stage.addChild(lav);
stage.addChild(middels);
stage.addChild(hoy);

lav.group = middels.group = hoy.group = rbGrp;

//Steg 4: Definerer nødvendige variabler, samt tømmer tekstbokser
txtMin.text = "";
txtMin.restrict = "0-9";
txtSvar.text = "";

var minutt: int = 0;
var forbruk: int = 0;
var sport: String = "";
var intensivitet: int = 0;
var kcal: Array = [814/60, 236/60, 510/60, 244/60, 666/60]; // aerobics, bordtennis, fotball, golf, jogging

rbGrp.addEventListener (MouseEvent.CLICK, valg);
function valg (evt: MouseEvent) : void {
intensivitet = evt.target.selection.value;
}

btnKalori.addEventListener(MouseEvent.CLICK, kalori);
function kalori(evt: MouseEvent): void {
minutt = int(txtMin.text);
sport = aktivitet.selectedLabel;

if (sport == "Aerobics") {
forbruk = (kcal[0] * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

if (sport == "Bordtennis") {
forbruk = (kcal[1] * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

if (sport == "Fotball") {
forbruk = (kcal[2] * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

if (sport == "Golf") {
forbruk = (kcal[3] * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}

if (sport == "Jogging") {
forbruk = (kcal[4] * intensivitet * minutt);
txtSvar.text = "Kaloriforbruket ditt var: " + forbruk + " kcal";
}
}

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Mar 09, 2021 Mar 09, 2021

Copy link to clipboard

Copied

LATEST

no, i can't say.  that's beyond my limit to debug without duplicating your setup.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines