Anzeige

Rechtsklick?


Wiz

Grünschnabel
#1
Moin moin,
ich habe mal wieder eine Frage. Diesmal möchte ich einen Rechtsklick hinbekommen nur weiß ich nicht, wie das genau geht. An einigen Orten schreiben Leute, es würde nicht gehen, an anderen es würde doch gehen.

Wenn es geht, kann mir hier jemand vielleicht sagen, wie man einen Rechtsklick zum Funktionieren bekommen kann? Und wenn das geht, geht es auch mit einem Klich auf die mittlere Taste?

Ich denke mal, es funktioniert, da man in dem Spiel Zuma per Rechtsklick den Ball ändern kann... nur wie? ^^

mfg
Wiz
 

Wiz

Grünschnabel
#2
Vielleicht noch interessant:

Es soll nicht für einen Browser funktionieren sondern für ein Offline-Spiel, wo wir Flash als Interface benutzen wollen. Es soll per Rechtsklick ein Item in die rechte Hand zugewiesen werden.
 

Wiz

Grünschnabel
#4
Ah, danke!

Weißt du vielleicht, warum, wenn ich dann nun einen CLICK-Befehlt zu nem MIDDLE_CLICK umschreibe, da dann die Fehlermeldung kommt "1119: Zugriff auf eine möglicherweise nicht definierte Eigenschaft MIDDLE_CLICK über einen Verweis mit statischen Typ Class"
 

Wiz

Grünschnabel
#6
Also, ich nutze AS3. Ich hab hier ein Video-Tutorial nachgebaut http://wn.com/Flash_AS3_Game_Inventory_System

Code:
package {

	import flash.display.*;
	import flash.events.*;
	
	public class Inventory {
		
		var itemsInInventory:Array;
		var inventorySprite:Sprite;
		
		function Inventory(parentMC:MovieClip) {
			
			itemsInInventory = new Array();
			inventorySprite = new Sprite();
			inventorySprite.x = 50;
			inventorySprite.y = 500;
			parentMC.addChild(inventorySprite);
		}
		
		function makeInventoryItems(arrayOfItems:Array) {
		
			for(var i:int=0; i<arrayOfItems.length; i++) {
				arrayOfItems[i].addEventListener(MouseEvent.CLICK, getItem);
				arrayOfItems[i].buttonMode = true;
			}
		}
		
		function getItem(e:Event) {
			var item:MovieClip = MovieClip(e.currentTarget);
			itemsInInventory.push(item);
			inventorySprite.addChild(item);
			item.x = (itemsInInventory.length-1)*40;
			item.y = 0;
			item.removeEventListener(MouseEvent.CLICK, getItem);
			item.addEventListener(MouseEvent.CLICK, useItem);
		}
		
		function useItem(e:Event) {
			var item:MovieClip = MovieClip(e.currentTarget);
			trace("Use item "+item.name);
		}
	}
}
Es funktioniert auch alles soweit.
Ich dachte halt, wenn ich einfach ein MouseEvent.CLICK in ein MouseEvent.MIDDLE_CLICK umschreibe, würde das so funktionieren, doch dann kommt die oben genannte Fehlermeldung.
 

Zinken

Erfahrenes Mitglied
#7
Ich seh gerade in den Adobe-Docs: als Runtime-Version ist bei CLICK 'FlashPlayer 9' angegeben, bei MIDDLE_CLICK nur 'Air 1.0' und 'Flash Lite 4.0'. Scheint also im normalen FlashPlayer nicht zu gehen. Sorry.
Allerdings könntet ihr vielleicht eine Air-Anwendung daraus machen. Dann sollte es funktionieren.
 
Anzeige
Anzeige