I'm not sure I can provide enough information to make this a simple question to answer, but thought I'd throw it out there just in case anyone has run into the issue before.
ISSUE: Slideshow components, which are opened up by hotspots, will freeze, disappear off the screen without being able to recover them by toggling the hotspot, or continue to rotate after the user stops touching the table.
BACKGROUND: We have a touch table that gets unusual use (we are a children's museum, so young kids tend to do non-standard gestures). In creating the app I started with the Solar System exhibit, so is similar in structure. Hotspots on a background that open slideshows. I don't use the RenderKit, however, because the slideshows are of different lengths. There are a total of 15 slideshows, and one custom stack that Shaun Marsh kindly helped with on this forum (the custom stack contains larger images, but doesn't scale or rotate). Each slideshow has about 10 - 17 slides, which are almost identical to the ones in the Solar System exhibit -- one square picture with some text. The slideshows can scale from the default (scale=1) to 50% larger (scale=1.5). I've turned off drag inertia, but they can be dragged. Tether is on.
We use Site Kiosk to secure the table.
The monitor is rotated so that it is in portrait. Don't think either of these two things are important, but throwing them into the mix.
As the day progresses, the likelihood of a slideshow going wacky increases, so may be memory related. The custom stack which loops through the maps hasn't had any issues as far as I know.
The hotspots will continue to hide and show the slideshow. I just can't move a slideshow or re-scale it once it "freezes." As mentioned, sometimes it will sit there and spin, as if someone was rotating it.
Is there anything I can do as a best practice to make this work better? Are there gestures I should make sure are eliminated from the gml? I didn't want to mess too much with that, so it is similar to the Solar System file.
Is there too much content? (although it has 150 jpg images and slides total which are fairly small -- the assets folder is 35 Mb total.)
I realize the best thing to do is watch until it breaks, but I can't get it to break on my own, and am usually doing something else when visitors do it.
Which operating system and flash player version are you using?
Thanks, I should have provided that in the initial post.
Flash Player: 22.214.171.1245 (I see there is a newer version available, so should probably upgrade it)
Adobe Air: 126.96.36.199
edit: I'm using the "native installer" option on Flash Builder. The application on our other table required an internet connection, but this one doesn't. I am loading the CMLAir classes though, which perhaps I don't need to be doing. I'll experiment.
edit: I just updated Windows 8.1, Flash Player, and Air to their current versions. Thanks again.
Just to be clear, Flash Develop targets standalone projectors and not the global shared runtime. So rather than going here to verify your version information, run your FD app and right click on stage to display a drop down menu with the targeted player version on the bottom. The reason I am interested in the player version is there is a known issue (known issues are included in the release notes of the OE install) regarding a TouchMove bug encountered on Windows 8 and FlashPlayer versions > 11.7. I have been sticking with 11.7.700.224 to avoid the bug but have not tested recent releases to see if it has been resolved. I suggest trying to target a different flash player through FlashDevelop (player archives). Switching runtimes through the project properties has proven unreliable. It's inconvenient but my sure-fire approach is to replace the currently targeted player at C:\Program Files (x86)\FlashDevelop\Tools\flexlibs\runtimes\player[version]\win. Use the method from above to verify the switch.
Thanks for the clarification. I'm using Flash Builder here at work, and can't find where to find or change the Flash target. I can take a look at this on my home computer later in the week, where I have the admin rights to install Flash Develop so I can follow your directions above. Much appreciated.
edit: I'm not sure what I'm doing, but it looks like I can add the line
-target-player=11.7.700 to the command line arguments in the run configuration of Flash Builder. Not sure if that actually changes the target.
I'm not sure how to change the player through FlashBuilder off hand but you should be able to verify the version with the same check I provided above. Let me know if you have trouble switching and I'll look into it.
I still haven't gotten a chance to open the project in Flash Develop, but think I know that the Flash target is 11.4. It's the only set of files here:
C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\player\win\11.4
There are no other versions available in the 'win' folder, so I'd assume that's the version being used.
You may be correct with that assumption but is there a reason you haven't tried right clicking on the Player window to verify the runtime version as I suggested above? The last item of the drop down menu should say something like "About Adobe Flash Player 188.8.131.52...". This method will be useful for you to confirm you have switched to a new version. I am not certain on the solution of the issue you are experiencing since I have only encountered it with the setup I described. The player may not be this issue in this case but by simply switching to another player (try the 11.7 from my second response) and trying to reproduce it, we can either confirm or eliminate it as the culprit.
The application does not require both runtime players. It will either run in AIR or run in the Flash Player. Importing CMLAir is only necessary if you are using an AIR project to have access to the AIR exclusive elements.
Oh, got it. When I open it from Flash Builder, I can't right-click (nothing happens, probably because it's the debugger and not the player). When I double-clicked directly on the swf file that results, Windows intially told me I didn't have to software to open it, so I browsed to Flash Player that comes with Flash Professional. When I do that, it opens (without content, just a black screen, but sized correctly). It shows Flash Player 184.108.40.2067 when I right-click. I still think I might be doing it wrong.
This thread has sent me down the path of using FlashDevelop instead of FlashBuilder. After a couple little hiccups, I have the app successfully working in FlashDevelop.
A couple notes:
I have the latest version of FlashDevelop, 220.127.116.11, and don't have this path:
C:\Program Files (x86) \FlashDevelop\Tools\flexlibs\runtimes\player[version]\win
In the FD\Tools\flexlibs folder, there is a "frameworks" folder and a "lib" folder, but no "runtimes" folder. In \frameworks\libs\player, there are a bunch of versions of playerglobal.swc.
I'm not sure how to replace the targeted player in the file system as instructed above. I can change the target in the project properties (to 11.7, which you note can be problematic). When I "Run Project" it opens in my default flash player, which is 18.104.22.1687 when I right-click on the stage. This is on my development computer. I have put version 11.7.700.224 on the Touch Table itself, so can open the app in that version on the table, but am pretty sure this is not what you intended me to do.
Now I need to figure out whether I can compile the project as an .exe file, like I can in Flash Builder. SiteKiosk can launch an .exe file but not a .swf, unless I run it in SiteKiosk's "browser," which doesn't seem like the thing to do. Going to figure that out now!
Thanks for sticking with me and all my questions,
This is the tool we use to convert our .swf files to .exe.
That converter is very useful. Thanks very much!
A few hours having the new FlashDevelop version out with visitors, and so far so good. None of the elements are frozen or having any issues, and my old version probably would have had some issues by now.
Thanks for your help.
This topic is now closed. New replies are no longer allowed.
This topic is now archived. It is frozen and cannot be changed in any way.