Flash :: Internal Setter With Public Getter Doesn't Work?
Jul 13, 2011I have a problem whereby in AS3 using Flash Builder 4 using a public getter with an internal setter gives me the error "property is read only", like so:
[Code]...
I have a problem whereby in AS3 using Flash Builder 4 using a public getter with an internal setter gives me the error "property is read only", like so:
[Code]...
Is it possible to have a property with a public getter and protected setter? I have the following code:
public class Mob extends Sprite {
// snip
private var _health:Number; // tried making this protected, didn't work
public function get health():Number { return _health; }
protected function set health(value:Number):void {
[Code]...
I did have this.health -= dmg; but I split it out to get more details on the compiler errors. I don't understand how the property would be considered read-only within the same class. I also don't understand how it's inaccessible. If I make the backing field, getter, and setter all protected, it compiles but it's not the result I want; I need health to be readable externally.
i dont get the advantages of using getter and setter instead of setting the var public.
View 7 RepliesWhich is a much better practice in binding a value in Flex?
View 2 RepliesI've created an AS class to use as a data model, shown here:
package
{
import mx.controls.Alert;
[code].....
I'm having trouble updating a property value of a custom class (SubLoader) using a getter and setter. Inside the if() statement of the main fla you can see my attempt to set the percent value. Running a trace() method before the if() statement always outputs '0' for some reason. Tracing after the if() statment outputs an actual value. I can't figure out why the percent property always traces as '0' before the if statement even though I am updating it with each progress event.
[Code]...
Anyone know a workaround to make static getter/setters?
View 2 RepliesI seem to have run into a situation where when I push a value to an array held within a singleton via a getter/setter , Flash seem so access the getter over the setter method. Within my command/controller (I am using RobotLegs)
override public function execute():void {
// various line of code here
//Place screenshot image into an array from model for later reference.
model.unitScreenshots.push(screenShot); // screenshot is just a Bitmap object
}
The getter and setter within my model e.g. robot legs singleton
public function get unitScreenshots():Array {
return _unitScreenshots;
} public function set unitScreenshots(value:Array):void {
_unitScreenshots = value;
}
When I set a break point on both the getter and setter, only the getter method is being called, why? I would think that a push value on the array would trigger the setter, not the getter.
I'm trying to create a property that can be set by extending classed and read publicly.I couldn't think of a good naming convention for a protected property with a public getter, so I tried to do this:
public function get name():String{ return _name; }
protected function set name(string:String):void
{[code]......
However I get the error (when trying to set name in an extending class): 1178: Attempted access of inaccessible property name through a
reference with static type testing:TestComponent.1059: Property is read-only.
If I change the setter to public, it works fine.
I recently completed a tic-tac-toe game in AS3, using some simple function-based code I had written in C many years ago.Now I'm on a quest to do it the "right way" using OOP techniques and best practices.Everything is now divided into neat little packages, it looks pretty, and the last part of my journey is to get all the little buggers to communicate with each other.I want to move the code which holds the game state from my main to it's own class in com.okaygraphics.model.GameState.The problem is nearly every other package gets and sets these game state properties.I'm trying to figure out the simplest way to encapsulate this stuff, while still allowing my other classes to access it.
1) Do I need a constructor? I mean, my program will never have more than one GameState. If I should call my getters/setters as instance methods, how do I get each other class to reference the SAME instance from their respective packages?
2) Do I even need getters and setters? Perhaps the class could just have 3 public properties? If so, how would I acheive the proper scope with regard to my other classes?
3) Should I assign everything to the class itself using the static keyword? If so, how would I implement and use those static methods?
4) Is this a mistake? Did I totally just program myself into a corner?
I have two functions one that sets and one that gets a number. The set one works, but the get one doesn't. I have it trace the set it returns the correct number, but when I set the getY function, it doesn't give me anything at all. When i took the number out of the trace it just gave me back only text. What am I doing wrong here?
ActionScript Code:
public function setY(y):void {
y = y;
[code].....
I have a .as file with class Main which contains:
Code:
public function set Set_AnimationFile(FileName:String):void
{
this.FileName=FileName;
[Code]....
How do i access these functions from my timeline script?
I have tried
[Code].....
I have written a class, which is basically a textfield for forms. It will eventually have several validation modes built into it too, which will be set by setting a property of the object.anyway, my problem. Basically my setters are empty if the movie is used as a loaded swf within another movie.I have an Event listener within the class listening for the Event.ACTIVATE event (still not sure exactly what this does...) though i do know that i need this in place for the setters/getters to work.If i create objects from my class, set some properties everything is spot on, though the moment i load this working movie into another movie the Event.ACTIVATE does not fire.[code]Now, if i run this movie its perfect - everything works as it should, right down to the validation.however, this movie is to be used within another movie. When i load this movie into a parent movie my fields aren't added to the movie.
View 5 RepliesI'm trying to make a class that extends the Sprite, have some private properties attached to it and be able to read and write those properties using getters and setters. Simple... but the compiler throw this error "Access of possibly undefined property speed through a reference with static type flash.display:Sprite."It works if I set my class to extend the MovieClip object.Could someone explain me the logic behind this? why I can't use getter and setters with a Sprite?Here is a sample code:
package {
import flash.display.Sprite;
public class Vehicle extends Sprite{
[code].....
I'm trying to make a class that extends the Sprite, have some private properties attached to it and be able to read and write those properties using getters and setters. Simple... but the compiler throw this error "Access of possibly undefined property speed through a reference with static type flash.display:Sprite."It works if I set my class to extend the MovieClip object. someone explain me the logic behind this? why I can't use getter and setters with a Sprite?
[Code]...
"Getting" the hang of Getter/Setter methods, but could use a review of my syntax. Does the follwing demonstrate best practices, meaning the least awarkward application of the technique?
Code:
// in Calculator.as
class Calculator {
private var _priceCD:Number;
private var _priceShocks:Number;
private var _priceCover:Number;
[Code]...
The generally used workaround for this, is to use a regular function instead of a getter/setter. This results in having to have ( ) after the function variable obviously. The question is, can a Function variable be assigned to a getter/setter function and retain its attribute of not needing brackets.
Below is some Pseudo code representing the question:
#########################################################
public class Foo(){
private var prop:Object;
public function get Prop():Object{return prop;}
[Code].....
If I have a class that extends another, e.g.,
package {
import flash.display.Sprite;
public class MySprite extends Sprite{
[Code]....
and extend that class, if more than one internal classes are defined:
package {
public class MainClass extends MySprite {
public function MainClass():void{}
[Code]....
ReferenceError: Error #1065: Variable MainClass is not defined.Note that this only happens (as far as I can tell) when the public class of the package extends another class, and multiple internal classes are defined. The internal classes don't even need to be instanced or referenced to generate the error (the bare-bones code above will error out). If only a single internal class is defined, it works fine (no error). Even if the internal class is instanced.
I have a class file called "Character_Gen" that generates a lot of random numbers and stuff and displays them on the stage via text input boxes (for the time being), as well as scaling Movie Clips to provide a visual representation of the data. So far so good...But recently I have been trying to add buttons so that you can increment and decrease values (variables) in the class file and update the stage to reflect these new values visually. I have written a setter function in my class file that requires two parameters (stat and stat1), it should in theory allow me to enter any two variables from the class file and increment them at the press of a button. But it doesn't work, the values never change. However the aggravating thing is that it works fine if I don't use the parameters and write the method with the variables I want. I plan on having a lot of pairs so writing a function for each would really suck.
Code:
//this is in my class file Character_Gen.as
public var bravery:Number;
[code].....
what I try I can't get the Setter function to work on a vector.<object>
Mean while the getter works fine Example as below
Code:
public function get frameData() :Vector.<Object>
{
trace("getter");[code]....
the code runs fine without the set function, but not without the get.
I have a component where I expose the property 'questions' with the following code:
private var _questions:ArrayCollection;
private var questionsChanged:Boolean;
[Bindable("questionsChanged")]
[Code]....
In this component, I use commitProperties() to implement my logic.
I use Cairngorm and the 'questions' is in the model and hence it's defined as a source for data binding.
When the 'questions' ArrayCollection's size changes elsewhere in the application, it is not invoking the setter method in the component that is destination for the data binding.
so I've worked with AS for a while now but I've always managed to avoid using external AS files so my knowledge of how to work with them is lacking. Right now I'm trying to work with the sample files from the vimeo API found a the bottom of the page here: It all works fine but I'm confused about how to call functions in these external files.I want to dynamically change the video being played from the fla file and have how to call the function VimeoPlayer from the fla file
ActionScript Code:
VimeoPlayer('XXXX', 35697686, 640, 360);
ActionScript Code:
[code].....
I decided to try to use setInterval for myanimation, which is just a mouse trail.However, I'm trying to get teh mouse trail to be a dynamic mask.In my previous swf this was achieved by using a holder mc with the animation inside and then using this as the mask. But this time I just canpt seem to hit on the right way to get it to work. The code I am using for the mouse trail is:
Code:
var i:Number = 0;
var myInt:Number;
var t:MovieClip;[code].....
in the function, but now the trail doesn't resize and the mask still doesn't work.
I'm having a problem, where random IE's are not able to display my .swf file. All the IE's are IE8 with the latest flash pluggins and all security's are set at Medium, however some IE's get just a grey box and other's get the full flash file. What's going on? It works fine in Safari and Firefox of course, but why so much difficulty with AS3 Flash9 in IE? here is a link to the site, and it's the big image changer at the bottom of the front page.
[URL]
I'm trying to export an animated text image, but for some reason, when I publish in .gif format, the text is all screwed up. I have example of it, in the attached file. It worked for me in flash mx, but in flash cs4 it doesn't work. I want the text to be readable and animated, in this .gif.
View 4 RepliesFor some reason the Flash Uninstaller won't do its job. It says 'Installing', then 'Quit' but doesn't do anything. I've got all the browsers shut down.
MacPro, OS 10.4.1
I am developping this video player: In the exemple above, the player is loading this start image, to display it before the playing of the video:Here, I then tell the player to load the same image, but on another domain: As you can see, it doesn't work anymore. I searched on Google and discovered that I theorically had to add a crossdomain.xml, to make sure that there isn't security protection that avoid swf to load images from other domain. so put these two files on my different domains, to tell the swf to accept files from all * domains
View 2 RepliesI am a student trying to learn how to take multimedia elements from one class and put them on a webpage using Dreamweaver CS4. From an online tutorial, I created start/stop buttons with ActionScript3 URLRequest to reference a sound file. The swf works fine when played; it plays from the html generated by flash but when I use Dreamweaver CS4 > insert > media > swf and then preview page in browser (firefox), the button doesn't do anything. When I compare the html page generated by flash to the html created by Dreamweaver, they look completely different. I don't have a clue what to do next.
[Code]...
I have Flash CS5 and I'm trying to export SWC from it to use as a library with Flex SDK (FlashDevelop). I have "Export SWC" checked in publish settings and for a while it worked. Now, even if it still is checked, SWC isn't created (at least in the same directory as SWF). I even tried creating a completely new FLA and copied everything from the old library in there. Still it doesn't work.
View 6 RepliesThis sounds quite ridiculous but my space bar doesn't want to work in Flash CS3. I'm a web designer and started recently for a new company. They asked me to include a flash image on one of our websites. When I try to add text to the stage, I can't make spaces. That is all. I've used flash before and I've never ran into this problem
View 2 Replies