ActionScript 2.0 :: Parabol - Firing Shell / Cannon On Certain Angle
Oct 26, 2004How would you script a parabol? i want to be able to "fire" a shell/cannon on a certain angle and have it do a parabol/curve in the air and land/hit.
View 3 RepliesHow would you script a parabol? i want to be able to "fire" a shell/cannon on a certain angle and have it do a parabol/curve in the air and land/hit.
View 3 RepliesMe and my friend are making a sidescrolling shooter to learn ActionScript 3. But we can't make our cannon shoot the cannonball. Here is the cannon.as
ActionScript Code:
package com.edwardothesheep
{
import flash.display.*;[code]....
And this is the error it gives:
TypeError:::Stage@1fc34b51 to flash.display.MovieClip.
at com.edwardothesheep::cannon/shoot()[C:UsersIanDownloadscannontestcannontestcome dwardothesheepcannon.as:33]
EDIT: Rotation issue is solved with this:
ActionScript Code:
Math.atan2(ydif, xdif)/(Math.PI/180)-90;
I made a cannon consisting of 3 movie clips: The barrel, base and projectile. I want the barrel to point toward the mouse and the projectile to follow the barrel on the "inside" (behind the movie clip). Also i don't want the barrel to instantly go to different angels, a smooth animation that make the barrel feel like it has some weight would be nice.
Here is an image of the project: [URL]..
Ive made this rotation with AS. But Id like to make the bar to move from angle A to angle B smoothly.
How can I do this?
i'm having a bit of a problem at the minute, i'm trying to get an external SWF to load into a shell i've created. The way i'd like it to work is that a preloader loads the shell, then once thats done i want the external swf home page to load in afterwards (which also has a preloader)
I know the swf's work all right as i've created buttons that when clicked load the external files, so no problem there.
[Code]...
I am struggling with actionscript 3. I need simply to load an external. swf into my "shell" .swf. both are actionscript 3. When I have the following actionscript in frame 1.
loadMovie("mymovie.swf");
I get the following error
1180: Call to a possibly undefined method loadMovie.
I am loading external .swf files into a shell, when one .swf finishes playing it loads in the next movie. This works fine in AS2, but in AS3 the previous .swf does not get replaced, it remains on the stage.
View 4 RepliesThe Slider (and all UIComponents) rely on direct access to the 'stage' - which is denied due to recent AIR 1.5 security restrictions. This restriction prevents any UIComponent from working when loaded into an AIR app as a local SWF. The parentSandboxBridge cannot return a reference to the stage.
View 1 RepliesI am having a problem with preloaders showing up in my flex apps. I never had this problem when developing flash apps so I got the idea to use a flash app as a shell with the sole purpose of showing a preloader while the flex app loads. I am not sure how to do this though, and I also need to ba able to pass the FlashVars from the shell flash app to the flex app.
View 2 RepliesI am trying to load one swf into another. In the former I have a preloader, and a mc to load the content. I am getting "Scene 1, Layer 'actions', Frame 1 1084: Syntax error: expecting rightbrace before end of program." Here is my code.
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.events.Event;
[Code].....
I want to create a basic GUI for a touchscreen panel running linux grml with fluxbox so I'm very restricted. The Gnash player is also available. Is there a way to call shell/bash commands inside a Flash file (swf)?I want to create a GUI to control the mplayer and volume with the touchscreen... If it's not possible with Flash, what do you think is the easiest way?
View 1 RepliesI'm working on an existing modular project that was built in PureMVC. Instead of converting everything over to RobotLegs, I want to create a new module using RobotLegs and plug it into the pureMVC shell. Currently, when the module loads, I get the following flash error: ReferenceError: Error #1065: Variable IMediatorMap is not defined.
Inititally, I thought it was because my module needed a pureMVC Mediator to call the pureMVC StartupCommand to get things "hooked up" and THEN create the RobotLegs' Context. However, that didn't work and I'm still getting the error.
There is a Shell and a Module. The Shell loads the Module. Module is never run without the Shell. Because there will be more modules, I decided to put common classes to Shell.
1. Compiled Shell with -link-report objShell_Extern.xml
2. Compiled Module with -load-externs obj<ShellProject>_Extern.xml Module size shrank from 90 KB to 2,05 KB.
3. Added 5 filters to Module:
import flash.filters.*;
tf.filters = [new GlowFilter(), new GradientGlowFilter(), new DropShadowFilter(), new BevelFilter(), new BlurFilter() ];
Module size grew to 2,15 KB.
4. Added 5 filters to Shell (same code as above), recompiled it, then recompiled Module.Module size still at 2,15 KB.
5. Tried getDefinitionByName
//import flash.filters.*; commented out
var GlowFilter:Class = Class(getDefinitionByName("GlowFilter"));
var GradientGlowFilter:Class = Class(getDefinitionByName("GradientGlowFilter"));
[code]....
Error #1065 GlowFilter not initialized, Module size grew to 2,19 KB. Deleting some, but not all filters is decreasing size, so it's not the getDefinitonByName that takes 0,14 KB (2,19 - 2,05 without filters).
1. Do I understand the idea of load externs, or does it work only with specific classes? Why it doesn't work with filters?
2. What did I screw up with getDefinitionByName and is it a new feature because of it's use like in link below?
Given a "run configuration" in Eclipse, I want to print out the associated shell command that would be used to run it.
For example: Right now, in Eclipse, if I click "play" it will run: mvn assembly:directory -Dmaven.test.skip=true
I don't see that command, I just know that's what the IDE must run, at some point. However, some of the other run configurations are far more complex with long classpaths and virtual machine options and, frankly, sometimes I have no idea what the equivalent shell command would be (particularly when it comes to Flex).
There must be some way to access the shell command that would be associated with a "Run Configuration" in Eclipse/Flex Builder. This information must be available, which leads me to believe someone has written a plugin to display it. Or maybe there's already an option built into Eclipse for accessing this.
So is there a way to, essentially, convert an Eclipse run configuration into a shell command? (for context only: I'm asking because I'm writing a bash script that automates everything I do, during development--from populating the Database all the way to opening Firefox and clearing the cache before running the web app.So every command I run from the IDE needs to exist in the script. Some are tricky to figure out.)
I'm using Flash CS4 Pro.In Motion Editor, the way that the blur works, it allows you to blur an object on X and/or Y axis.That means you blur horizontaly or/and verticaly.I would like to make a blur motion at another angle, by example 30 degree.
View 1 Replieshere's the code.
var zipTimer:Timer = new Timer(1000, zipArray.length-1);
zipTimer.addEventListener(TimerEvent.TIMER, onTick);
zipTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
[code]....
Now, I can't see, for the life of me, why this isn't firing. It's almost exactly the code from Adobe's docs...zipArray.length is at least 32.
I'm working on a scene where the user can drag sugar, honey and syrup flavour to a cup of coffee and each time they collide, the coffee's happiness is increased by 1. I added a TweenLite so that sending any of the objects to their original positions is much more fluid. The problem is that the hitTestObject is now firing more than once (which makes sense and now happiness is increasing at more than one increment at a time) but how can I make it so happiness is increased just once?
Code:
public function hitsDecaf(e:Event):void{
if (myCounter.myHoney.hitTestObject(myCounter.decafSweetened)){
ifStartTimer = true;
stopDrag();
myCounter.steamHappy.gotoAndPlay(2);
[Code] .....
I have the following:A document class, extending from a custom class, extending from MovieClip. In my document class, I assign a handler to the FullScreenEvent like so:
Code:
addEventListener(FullScreenEvent.FULL_SCREEN, function(e) { toggle_fullscreen(); });
Also, I've set up a SimpleButton to call that same function, toggle_fullscreen, when clicked.Here's the catch:When I click the button, my app goes fullscreen. When I press Esc, the app goes back to normal but the FullScreenEvent doesn't get fired,so I can't catch it to re-align the elements on my stage.I've also tried to add the event listener to the stage object of my document class, but that doesn't work either.
The problem is that I've done a lot of work in my game, and there's too much code bound to shift and control keys. For example you need to hold shift key to select multiple soldiers or control key to shoot or sometimes pause the game or even call a map, a lot of stuff in GUI depends on those keys as well. Both KEY_UP and KEY_DOWN are added to the stage object. But, time after time, there happens a very annoying thing, KEY_UP event just doesn't fire for shift or control (in most cases it does, but not always). That is, I press shift, start selecting soldiers, then release shift but Flash Player keeps thinking it's still pressed, so I can still select multiple soldiers, which is not good.
I found the exact same problem here: [URL]
I have some code where an event handler listening to Event.ID3 fires twice for an MP3 file. From searching the web, I found a few others asking a similar question, but I haven't seen any response.
Does anybody know what would cause the ID3 Event to fire twice for a single file? My only guess is that the MP3 file contains two versions of ID3 format.
The code looks like this:
Code:
var mySound:Sound;
function setup()
{
[Code]...
I am having a problem with my ProgressEvent.PROGRESS handler. It looks like this:
Code:
function handleProgress( event:ProgressEvent ):void {
var percent:Number = Math.round( event.bytesLoaded / event.bytesTotal * 100 );
trace("Uploading %" + percent);
}
It just traces "Uploading %100" every time
I am using a big file so I know its taking several seconds between calling URLLoader.load and complete. There just doesn't seem to be a report in between 0-100..
i have a movie clip that follows my mouse to create a fading line.the thing is that i want that movie clip to change its angle according to the mouse movement.Right now the mocie clip is kind of changing its orientation but it's also gettin cray and is not fluent.heres the code of the part that draws the mouse
private function drawMouseLine(e:MouseEvent):void[code].........
I know a matrix [x scale, y skew, x skew, y scale, trans x, trans y], and would like to get the angle in degrees.
View 2 Repliessay I have two points: 0,0 & 1,-1If i were to get the angle between these, it should return 45.But the function i have created below returns -45, and If i give it the points 0,0 & 1,1 it returns 45.
ActionScript Code:
function point_direction(x1:Number, y1:Number, x2:Number, y2:Number):Number
{
[code].....
I have a carousel built and it works fine, but there is an angle on it that I want to get rid of. When the images move along the carousel, I want them to always stay the same on the X axis. Here is the code, I have tried mangling it in every possible combination, but it is outside my AS3 knowledge on how to get the angle changed.
import mx.utils.Delegate;
var numOfItems:Number;
var radiusX:Number = 1150;
var radiusY:Number = 50;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 6;
var speed:Number = 0.002;
[Code] .....
how to get angle of mouse its very simple.use this Script (copy and past in your file). A sample file which runs only on CS4 is attached.
//Start............................................. .................................................. .................
// Make a line (o-----------------------) and take its left side as center named 'mcArrow'
mcArrow._x = mcArrow._y =200;
[code]....
I'm at a bit of a coders block, and I'm sure it's quite simple. I tried using the following:Code:((angle-180)%360) + 180But for angles < 180 degrees, it works just fine, but after that it get's a little funny. I know why it's doing that, I'm just looking for a way to fix it.
View 2 RepliesI keep running into problems where I want to add an event listener onto a class instance RIGHT after it's instantiated, like this:
Code:
storiesXML = new XML(XMLdata);
storyBook = new vStories(XML(storiesXML.stories));
storyBook.addEventListener("storyBookLoaded", storyBookLoaded);
. . .
But by the time we arrive at the third line, the "storyBookLoaded" event has very often (inconsistent) already been dispatched from my class instance:
Code:
var evt:Event = new Event("storyBookLoaded", true, false);
dispatchEvent( evt );
...
(Even though quite a lot has happened in the class before that.) To be clear, I don't want to add storyBook as a display child, and even if I did, the addChild() method would have to be called after instantiation of storyBook, so we'd have the same problem. I know I could set a timer in the vStories class to artificially delay the dispatching of the event, but that seems really hack-ish, and would have a real compounding problem if I have to do it too often as everything builds up. How to make sure custom communication events happen after their listeners are set?
I have a little flash app that I have running constantly on my server (I made it an exe). It runs great for a few days, but then eventually it just stops.
Code:
trace("test1");
var myTimer:Timer = new Timer(5000, 1);
myTimer.addEventListener(TimerEvent.TIMER, getData,false,0,true);
[Code].....
The code above should call the function getData once after 5 seconds have passed. This works 99.99% of the time, but for some reason (usually after a few days of it running) it doesn't call the getData function.
I have verified this through trace statements. When it eventually fails, it traces out test1, test2..... then nothing else. No test3.
I'm assuming I need to add an event listener for the timer object to check if it fails for whatever reason. How do I do this?
Can anyone see why my event.Complete isn't firing
[Code]...