Hallo allen,
Ik ben nu met iets voor school bezig waarbij ik Phidgets moet aansturen met mijn computer, en ik heb gekozen om dit met Flash te doen omdat ik een interface moet maken en dit lijkt mij hiermee het makkelijkst.
Maargoed het werkt dus als volgt: Ik sluit een 'interface kit' via usb op mn pc aan, en hier sluit ik in mijn geval touchpads op aan. deze touchpads geven een waarde 0 als ze aangeraakt worden, en anders een waarde tussen de 600 en 1000.
Ik heb 5 touchpads en hiervoor heb ik de volgende code geschreven:
In de directory van dit bestand staan enkele files die als liberaries dienen, en een ervan is PhidgetInterfaceKit.as.
De functie doChange is al gedefinieerd, index staat voor de button, newVal voor de waarde ervan.
'ifkit.openRemoteIP' is een functie die een verbinding maakt met de PhidgetWebService die op dat moment op mijn computer draait, die zorgt dus voor de communicatie tussen Flash en de interface kit.
Mijn probleem is nu, als ik over de fysieke touchpad 1 ga (index=0), verdwijnt button1 gewoon, maar als ik dan over knop 2 ga, verdwijnt button2 niet, en button1 komt ook niet meer terug.
De waarde van knop 2 veranderd wel degelijk, want dit laat mijn trace zien.
Snapt iemand waarom het alleen werkt bij knop 1 en waarom die knop niet terug komt?
Ik ben nu met iets voor school bezig waarbij ik Phidgets moet aansturen met mijn computer, en ik heb gekozen om dit met Flash te doen omdat ik een interface moet maken en dit lijkt mij hiermee het makkelijkst.
Maargoed het werkt dus als volgt: Ik sluit een 'interface kit' via usb op mn pc aan, en hier sluit ik in mijn geval touchpads op aan. deze touchpads geven een waarde 0 als ze aangeraakt worden, en anders een waarde tussen de 600 en 1000.
Ik heb 5 touchpads en hiervoor heb ik de volgende code geschreven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| var ifkit:PhidgetInterfaceKit;
ifkit = new PhidgetInterfaceKit(); //aanmaken van een nieuwe interfacekit
function restoreAll() {
setProperty("_root.button1", _visible, true);
setProperty("_root.button2", _visible, true);
setProperty("_root.button3", _visible, true);
setProperty("_root.button4", _visible, true);
}
function doChange(index:Number, newVal:Number) {
trace("index "+index+" changed to: "+newVal);
switch (index) {
case 0: // first button
if (newVal == 0) { // button 0 is pressed
restoreAll;
setProperty("_root.button1", _visible, false);
}
break;
case 1:
if (newVal == 0) { // button 1 is pressed
restoreAll;
setProperty("_root.button2", _visible, false);
}
break;
default:
break;
}
}
ifkit.onSensorChange = doChange;
ifkit.openRemoteIP("localhost", 5001, -1, "pass"); //link met de server |
In de directory van dit bestand staan enkele files die als liberaries dienen, en een ervan is PhidgetInterfaceKit.as.
De functie doChange is al gedefinieerd, index staat voor de button, newVal voor de waarde ervan.
'ifkit.openRemoteIP' is een functie die een verbinding maakt met de PhidgetWebService die op dat moment op mijn computer draait, die zorgt dus voor de communicatie tussen Flash en de interface kit.
Mijn probleem is nu, als ik over de fysieke touchpad 1 ga (index=0), verdwijnt button1 gewoon, maar als ik dan over knop 2 ga, verdwijnt button2 niet, en button1 komt ook niet meer terug.
De waarde van knop 2 veranderd wel degelijk, want dit laat mijn trace zien.
Snapt iemand waarom het alleen werkt bij knop 1 en waarom die knop niet terug komt?