Ergebnis 1 bis 7 von 7

Thema: [AS3] Bitmaps in einen Array laden...

  1. #1
    gelöschter User
    Gast

    Standard [AS3] Bitmaps in einen Array laden...

    Hi Leute,
    ich übe mich gerade in AS3 und probiere ein Snake Spiel zu coden...
    Das Problem ist, dass ich einen Fehler ausgespuckt bekomme wenn ich versuche
    die Bitmaps in einen Array zu packen.

    Zitat Zitat von Fehler
    TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
    at cp/addFood()[C:\Dokumente und Einstellungen\standard\Desktop\rolf\AS3\cp\cp.as:9 0]
    at <anonymous>()[C:\Dokumente und Einstellungen\standard\Desktop\rolf\AS3\cp\cp.as:5 2]
    Hier ist mein programmiertes mit einem Kommentar bei der Fehlerzeile:
    Code:
    package &#123;
    	import flash.display.*;
    	import flash.events.*;
    	import flash.geom.Rectangle;
    	import flash.text.*;
    	import flash.utils.setInterval;
    	/*
    	13 = Enter
    	27 = Escape
    	37 = Links
    	38 = Oben
    	39 = Rechts
    	40 = Unten
            
    	
    				   &#91;N&#93;ie
    			 		|
    					|
    	  &#91;W&#93;aschen-----|-------&#91;O&#93;hne
    			 		|
    			 		|
    				   &#91;S&#93;eife
    	*/
    	&#91;SWF&#40;width="400", height="350", backgroundColor="#000000", frameRate="30"&#41;&#93;
    	public class cp extends Sprite
    	&#123;
    		public var snakeBit&#58;Bitmap;
    		public var snakeBitData&#58;BitmapData;
    		public var snakeDirection&#58;String = "O";
    		
    		public var gameSpeed&#58;Number = 100;
    		public var gameAddedFood&#58;Array;
    		public var gameWidth&#58;Number = 400;
    		public var gameHeight&#58;Number = 350;
    		
    		public function cp&#40;&#41;
    		&#123;
    			snakeBitData = new BitmapData&#40;10,10,false,0xFF00FF00&#41;;
    			snakeBitData.fillRect&#40;new Rectangle&#40;10,10,10,10&#41;,0xFF00FF00&#41;;
    			snakeBit = new Bitmap&#40;snakeBitData&#41;;
    			snakeBit.y = 50;
    			addChild&#40;snakeBit&#41;;
    			
    			stage.addEventListener&#40;KeyboardEvent.KEY_DOWN,function&#40;e&#58;KeyboardEvent&#41;&#58;void
    			&#123;
    				trace&#40;e.keyCode&#41;;
    				switch&#40;e.keyCode&#41;
    				&#123;
    					case 13&#58;
    					startGame&#40;&#41;;
    					break; 
    					
    					case 27&#58;
    					addFood&#40;&#41;;
    					break;
    					
    					case 37&#58;
    					snakeDirection = "W";
    					break;
    					
    					case 38&#58;
    					snakeDirection = "N";
    					break;
    										
    					case 39&#58;
    					snakeDirection = "O";
    					break;
    					
    					case 40&#58;
    					snakeDirection = "S";
    					break;	
    				&#125;
    									
    			&#125;&#41;;
    		&#125;
    		public function startGame&#40;&#41;&#58;void
    		&#123;
    			setInterval&#40;IntervalTodoList,gameSpeed&#41;;
    		&#125;
    		
    		public function addFood&#40;&#41;&#58;void
    		&#123;
    			var randomX&#58;Number;
    			var randomY&#58;Number;
    			
    			randomX = Math.floor&#40;Math.random&#40;&#41; * &#40;gameWidth-10&#41;&#41;;
    			randomY = Math.floor&#40;Math.random&#40;&#41; * &#40;gameHeight-10&#41;&#41;;
    			
    			trace&#40;randomX + " - " + randomY&#41;;
    			var newFoodBitData&#58;BitmapData = new BitmapData&#40;10,10,false,0xFF00FF00&#41;;
    			newFoodBitData.fillRect&#40;new Rectangle&#40;10,10,10,10&#41;,0xFF00FF00&#41;;
    			gameAddedFood.push&#40;new Bitmap&#40;newFoodBitData&#41;&#41;; // Diese Zeile wird makiert&#40;Fehlerzeile&#41;
    			this.addChild&#40;gameAddedFood&#91;0&#93;&#41;;
    		&#125;
    		public function IntervalTodoList&#40;&#41;&#58;void
    		&#123;
    			if&#40;snakeBit.x > gameWidth&#41; snakeBit.x = 0;
    			if&#40;snakeBit.x < 0&#41; snakeBit.x = 400;
    			if&#40;snakeBit.y > gameHeight&#41; snakeBit.y = 0;
    			if&#40;snakeBit.y < 0&#41; snakeBit.y = 350;
    			
    			switch&#40;snakeDirection&#41;
    			&#123;
    				case "N"&#58;
    				snakeBit.y -= 10;
    				break;
    				
    				case "O"&#58;
    				snakeBit.x += 10;
    				break;
    				
    				case "S"&#58;
    				snakeBit.y += 10;
    				break;
    				
    				case "W"&#58;
    				snakeBit.x -= 10;
    				break;
    			&#125;			
    		&#125;
    	&#125;
    &#125;
    Schonmal vielen Dank!

    Gruß crAzywuLf
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    versuch mal zuerst die zeile wo einzufügen:
    Code:
    gameAddedFood = new Array;
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    gelöschter User
    Gast

    Standard

    Zitat Zitat von Dodo
    versuch mal zuerst die zeile wo einzufügen:
    Code:
    gameAddedFood = new Array;
    Hopsalala...^^
    Jo das war der Fehler Danke!

  4. #4
    gelöschter User
    Gast

    Standard

    Ich bin mittlerweile ein ganzes Stück weiter
    Ich hab vor unten ein TextFeld hinzubauen, wo die Punkte drin stehen, aber die Snake(Halt die Grafik davon) stellt sich irgendwie in den Vordergrund.
    Gibts es irgendwie einen Befehl um das Textfeld in den Vordergrund zu stellen?

    Code:
    			gamePoints = new TextField&#40;&#41;;
    			gamePoints.text = "0";
    			gamePoints.width = 400;
    			gamePoints.height = 20;
    			gamePoints.y = 340;
    			gamePoints.background = true;
    			gamePoints.backgroundColor = 0xCCCCCC;

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    gamePoints.swapDephts(9999);

    (hoffe so heißt die funktion und dass sie bei textareas funkt)
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    gelöschter User
    Gast

    Standard

    Zitat Zitat von Dodo
    gamePoints.swapDephts(9999);

    (hoffe so heißt die funktion und dass sie bei textareas funkt)
    Hmmm...
    Severity and Description Path Resource Location Creation Time Id
    1061: Aufruf für eine möglicherweise nicht definierte Methode swapDephts über einen Verweis mit statischem Typ flash.text:TextField. cp cp.as line 60 1216977284471 368
    Muss ich vielleicht noch irgendeine Klassenbiothek einbinden?

  7. #7
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    okey dann wird das auf textfelder nicht gehen...

    Idee: Lad das textfeld in einen eigenen movieclip und mach dann das swapDephts auf den movieclip
    Something big is coming. And there will be pirates and ninjas and unicorns...

Ähnliche Themen

  1. Laden / Nicht-Laden
    Von noa_at im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 08.09.2007, 14:46
  2. Suche einen Designer der mir einen Banner (Header) macht
    Von Lucas im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 6
    Letzter Beitrag: 25.05.2007, 18:30
  3. DIV Tags laden alle, sollen aber nur einzeln laden
    Von Das Schaf im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 19.03.2007, 20:07
  4. mit PHP einen Dateiinhalt in einen Div laden
    Von hornyhornet im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 21.06.2006, 14:07
  5. einen film dazu laden
    Von keks-86 im Forum Flash Forum
    Antworten: 1
    Letzter Beitrag: 02.03.2005, 09:49

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •