Note that there are some explanatory texts on larger screens.

plurals
  1. POAS3: Change values of an object
    text
    copied!<p>I'm working with <strong>QuickBox2D</strong>.</p> <p>I dropped a ball using the following statement.</p> <pre><code> gameBall = sim.addCircle({x:(mouseX/30), y:(2), radius:0.15, density:1, restitution:0.7, friction:0, skin:ball, scaleSkin:false, angularDamping:20}); </code></pre> <p>During an if statement I want to change two values inside the Object:</p> <pre><code> gameBall({friction:1,restitution:0}); </code></pre> <p><strong>I get the following error:</strong></p> <pre><code>Call to a possibly undefined method gameBall. </code></pre> <p><strong>Complete Code:</strong></p> <pre><code>package { import flash.display.MovieClip; import com.actionsnippet.qbox.*; import flash.events.MouseEvent; import flash.events.Event; [SWF(width = 300, height = 600, frameRate = 60)] public class LuckyHitBeta extends MovieClip { public var sim:QuickBox2D; var winBox:QuickObject; var looseBox:QuickObject; var looseBox2:QuickObject; var gameBall:QuickObject; var simContacts:QuickContacts; var isFiring:Boolean=false; var ballIcon:ballIcon_mc; /** * Constructor */ public function LuckyHitBeta() { liveIcon(); sim = new QuickBox2D(this); simContacts = sim.addContactListener(); simContacts.addEventListener(QuickContacts.ADD, contactListener); //Important Collisions; winBox = sim.addBox({x:2,y:597/30, width:98/30, height:10/30, density:0, skin:stick, skinScale:false}); looseBox = sim.addBox({x:5,y:597/30, width:98/30, height:10/30, density:0, skin:stick, skinScale:false}); looseBox2 = sim.addBox({x:8,y:597/30, width:98/30, height:10/30, density:0, skin:stick, skinScale:false}); //Collisions sim.addBox({x:3.5,y:560/30, width:72/30, height:13/30, density:0, skin:stick, skinScale:false, angle:1.57}); sim.addBox({x:6.5,y:560/30, width:72/30, height:13/30, density:0, skin:stick, skinScale:false, angle:1.57}); sim.addBox({x:0/30,y:300/30, width:600/30, height:28/30, density:0, skin:stick, skinScale:false, angle:1.57}); sim.addBox({x:300/30,y:300/30, width:600/30, height:28/30, density:0, skin:stick, skinScale:false, angle:1.57}); // make obstacles for (var i:int = 0; i&lt;(stage.stageWidth/28); i++){ //End sim.addCircle({x:1.2 + i * 0.8, y:16, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:0.6 + i * 0.8, y:15, radius:0.15, density:0, skin:ping, scaleSkin:false}); } for (var o:int = 0; o&lt;(stage.stageWidth/55); o++){ //Middle sim.addCircle({x:1.3 + o * 1.5, y:14, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.3 + o * 1.5, y:13, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.3 + o * 1.5, y:12, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.3 + o * 1.5, y:11, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.3 + o * 1.5, y:10, radius:0.15, density:0, skin:ping, scaleSkin:false}); } for (var u:int = 0; u&lt;(stage.stageWidth/45); u++){ //Start sim.addCircle({x:0.8 + u * 1.3, y:09, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.55 + u * 1.3, y:08, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:0.8 + u * 1.3, y:07, radius:0.15, density:0, skin:ping, scaleSkin:false}); sim.addCircle({x:1.55 + u * 1.3, y:06, radius:0.15, density:0, skin:ping, scaleSkin:false}); } addEventListener(Event.ENTER_FRAME,onEnterFrm); stage.addEventListener(MouseEvent.CLICK, _clicked); sim.start(); } /** * .. * @param e MouseEvent.CLICK */ private function _clicked(e:MouseEvent) { if (! isFiring){ gameBall = sim.addCircle({x:(mouseX/30), y:(2), radius:0.15, density:1, restitution:0.7, friction:0, skin:ball, scaleSkin:false, angularDamping:20}); isFiring=true; ballIcon.gotoAndStop(2); } } private function liveIcon():void { ballIcon=new ballIcon_mc(); addChild(ballIcon); ballIcon.y=30; } private function onEnterFrm(e:Event):void { ballIcon.x=mouseX; if (gameBall &amp;&amp; gameBall.body.IsSleeping()) { gameBall.destroy(); gameBall = null; isFiring=false; ballIcon.gotoAndStop(1); } } private function contactListener(e:Event) { if (simContacts.isCurrentContact(winBox,gameBall)) { // Won. trace ('You won!'); isFiring=false; ballIcon.gotoAndStop(1); } if (simContacts.isCurrentContact(looseBox,gameBall)) { // Loose. trace ('You loose!'); gameBall({friction:1,restitution:0}); isFiring=false; ballIcon.gotoAndStop(1); } } } </code></pre> <p>}</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload