I tried everything but no success.I am having big problems in importing files.So many error.... spent 5 hours but nothing. I successfully able to create project using collada parser but all the problems are coming when i am using import org.papervision3d.objects.parsers.DAE; There were some files missing and when i tried to download the missing files then it is showing me errors in files that i downloaded. Please suggest me how to get solve it.I wonder w'd it be possible for anyone to upload the configuration of papervision+libspark+ascollada which you used for creating a demo(like Brian Hodge used). Thanks alot in advance.And i am extremely sorry for posting this question in a thread AS3 DAE Augmented Reality PaperVision 3D as an answere.I am new to this forum and havent noticed the question tag.Extremely sorry...
The following is a link to a rather large explanation on PV3D/Flar toolkit AR
AS3 DAE Augmented Reality PaperVision 3D
-Questions
What IDE are you developing in? Flex Builder 3, Flash Develop, and Flash CS4 are all capable of handling embeds utilizing the Flex 3 SDK, BUT, Adobe Flash CS3 does not allow you to used embed and will not recognize it.
-Flash CS3 produces the following
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at Untitled_fla::MainTimeline/Untitled_fla::frame1()
-The Following works in all the others listed above
[Embed(source="foo.jpg")] //<--- NO SEMICOLON OR BREAKS
private var foo:Class;
var testFoo:Bitmap = new foo();
-Important
One thing that I would like to note, notice there is no semicolon on the embed line!
Hope this helps, apparently the original poster figured his/her problem out, but wanted to answer sid.
Related
After a recent reinstallation of my computer I have encoutered a very frustrating and strange issue with JetBrains IntelliJ.
I have this line of code
this.path_.data.push(r.left, r.top, r.right, r.top, r.right, r.bottom, r.left, r.bottom);
And similar ones around my project.
path_ = new GraphicsPath(GraphicsUtil.QUAD_COMMANDS, new Vector.<Number>());
data inside of path_ is a Vector.<Number> but for some reason I am unable to use the function native AS3 function push(... rest):uint; on it. It just shows me this error
I have tried to find a solution to this issue for the past 6 hours and haven't found anything so far... Hoping anyone here might be able to give some assistance with this issue.
Note: This has never happened to me in the past.
I have looked into the declaration of push() and it points to my library.swf for everything except the code that uses GraphicsPath.data... That file seem to point to ECMAScript.js2 which doesn't contain anything for Vector Objects at all.
I've tried to connect a box2d classpath I have to adobe pro cc via a source path in the actionscipt settings. I get a warning saying "A definition for the document class could not be found in the classpath, so one will be automatically generated in the SWF file upon export." When I do this the code still does not recognize the box2d commands. Any help is appreciated, thanks so much!
Edit: So I have now replaced the primary source folder thanks to Cadin's observation and the Box2d library commands are being recognized, however, I get several errors saying:
"Type was not found or was not a compile-time constant: b2World."
"Call to a possibly undefined method b2AABB."
and
"Definition Box2D.Collision:b2AABB could not be found."
I am extremely stuck and don't know what to do. I am fairly well versed with flashdevelop. But it has been a while since I've worked with flash pro. Thanks so much!
It sounds like the error is complaining about your Document Class, not Box2D.
When you added the source path to Box2D, did you add a new path, or replace the default one?
It's easy to accidentally replace the default path and get all kinds of class linking weirdness. Check the source path settings and make sure you still have a listing for "." That tells Flash to look in the current directory (where the FLA is) for source files. If your document class is in that directory, Flash won't find it without that source path.
I'm encoding and decoding a binary string. It's an Adobe Air app I'm writing.
I've imported mx.utils.Base64Decoder; and mx.utils.Base64Encoder; I've included tons of libraries and I've even gone to this link http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ and downloaded the Base64Decoder.as and included it as a library. I'm including the framework.swc as a library too, and I'm able to use Base64Encoder just fine. But as soon as I uncomment the line
var dec:Base64Decoder = new Base64Decoder();
I cannot build the project. It will tell me that the project has errors and cannot build.
does anyone have any clue what could be happening here? I'm so frustrated with this.
I've been googling around for the past 2 hours looking for some simple instructions on how to add my own custom metadata tag in as3 with no success. I'm starting to think that I'm probably not searching for the correct terms.
The Problem
Ultimately, what I want to do is add a custom metadata on a function that takes a function as a parameter and makes sure that the given function has the correct parameters.
I.e. I have the following function:
public function testCallback(callback:Function):void
{
callback("test");
}
and I want to get a compiler error when I call it like this:
public function doNothing():void
{
// doing nothing
}
public function someRandomFunction():void
// ...
testCallback(doNothing);
}
The way I'm thinking of doing this is by having this metadata:
[Callback(paramName="callback",callbackParams="string")]
public function testCallback(callback:Function):void
{
callback("test");
}
The extension would run during compilation and, if the function passed does not contain the correct parameters, a compile-time error will be thrown. I THINK by using flex2.compiler.util.ThreadLocalToolkit.logError(path, line, errorMessage); I can accomplish this.
The Search
I've been googling for a couple of hours now and couldn't find a simple tutorial that could get me started. I found some SDK bug reports (SDK-18718, SDK-26041), an unfinished forum post, a tutorial (?) on how to add a custom metadata in FlexBuilder (I'm using FlashDevelop), a not-so-useful answer in StackOverflow and many many more dead ends.
The Help
So far, as far as I could understand, I will use Java to create the extension and then, using a compiler command, I'll add it into my project. However, I don't know what do I need to get started.
My two main questions are:
A) What do I need to create the extension in Java? (do I need Flex Builder? Eclipse? what libraries do I need in my classpath?)
B) Once I have compiled this into something (a swc?), how do I include this in FlashDevelop in my AS3 Project?
Thanks in advance!
Update
I've been able to create a Java project in eclipse, add the Flex libraries, implement the IMxmlcExtension interface and compile the project into a jar with the correct MANIFEST file. Unfortunately, adding the extra -extension=MyTest.jar in FlashDevelop, did nothing.
In case it is useful, the resulting command line for the compiler was
mxmlc -load-config+=obj\MyProject.xml -debug=true -incremental=true
-swf-version=10 -extension=flex_test.jar -o obj\MyProject634846490611881374
Update 2
Timofei Davydik helped me narrow down the problem. It seems that FlashDevelop is the main problem. Creating an extension and compiling it in command line works. I started a thread in FlashDeveloper's forums. In case you're interested, the thread is: -extension compiler option
Update 3
Pilippe is correct, it seems that the problem comes from the fact that FlashDevelop uses Flex Compiler SHell (fcsh). I am now looking into how can I switch compilers.
Really interesting question. I've done some research. Yes, we can write mxmlc extensions and add some custom functionality. But processing custom metadata is really complicated, and much time is needed debug and explore flex compiler sources. I've created a post in my blog about extensions, you can check it:
http://tim-davydik.blogspot.com/2012/09/flex-compiler-mxmlc-extensions-forcing.html
How to make meta-data tags work in Action Script
Timofei Davydik's wrote a quick and simple tutorial in his blog to answer my question, named Flex compiler mxmlc extensions. Forcing compiler language, and helped me a bunch to track down what is the problem (which is why I'm giving him the bounty). In his post, he is using Flash Builder and not FlashDevelop, which brings us to the answer of the next question:
How to program them using Flash Develop
Unfortunately, as Phillipe pointed out, for AS3 projects, FlashDevelop uses the Flex Compiler SHell (FCSH), which doesn't support meta-data. Since FlashDevelop is open-source, I'll try (and probably fail) to switch the compiler for testing purposes. For anybody else interested in this, I think this forum post is a good start: [ GIFT ] Try new AS3 compiler (ASC 2.0) in flashDevelop 4.x
I am trying to just compile and run the demos from this article:
Flash talks to max msp via osc
I am using Flash Develop and Flex SDK with an up to date version of air.
When I run the demo: "as3_MaxFlashHarmony" I get an error I don't know how to fix. The source for the entire project is here:
the project
But specifically the error I am getting says:
col: 30 Error: Type was not found or was not a compile-time constant: OSCMessage.
here is the as3 file that it is specifically referencing:
//IHarmonyApp.as
package
{
import org.tuio.osc.OSCMessage;
public interface IHarmonyApp
{
function updateOSCData(msg:OSCMessage):void;
}
}
It uses the libraries Tuio, MinimalComps, and MonsterDebugger. The thing I don't get is that how can it not find OSCMessage if OSCMessage is properly imported? the IDE is making fine references to it and I can open it's declaration. OSCMessage is a public class. I don't get it.
To give some extra info for potential answers, the IDE flashdevelop can find the library org.tuio.osc.OSCMessage just fine, it gives the error regardless of if org.tuio... is a source path or not, and the overall path does not contain any special characters. I don't know if that might matter, but I feel like this is me making a stupid mistake somewhere. I can provide my project zipped if need be.
Thanks!
Edit 9:48, 8/25/12
I do have the file path org/tuio/osc/OSCMessage.as in my project, and the file OSCMessage exists. FlashDevelop can find it just fine and I can navigate to declaration at that location. This is why I got stumped.
Thanks again
In your AS3 folder apart of your de folder you would need to have org folder with relevant folders and classes.
For example to import org.tuio.osc.OSCMessage you would need a file:
../YourPackageRoot/org/tuio/osc/OSCMessage.as
The other way is including a SWC file (all folders and classes zipped into one swc file).
You can include the swc file in FlashDevelop by right clicking the swc file and selecting Add To Library