Page 1 of 1

Checking Ownership of Avatar

Posted: 25 Feb 2015, 11:04
by Nigey
Hi Guys,

How would you check to see whether an avatar your mouse is hovering over is your avatar? How can you see who's avatar it is?

Thanks!

Re: Checking Ownership of Avatar

Posted: 25 Feb 2015, 17:14
by Bax
The CLICK, ROLL_OVER, ROLL_OUT events contain the "id" parameter. That's the user id of the avatar's owner.
You can check if it is equal to the current user's id, like this:

Code: Select all

if (evt.params.id == sfs.mySelf.id)
{
   trace("that's me!");
}

Re: Checking Ownership of Avatar

Posted: 27 Feb 2015, 14:36
by Nigey
Hi Bax,

Thanks for replying. I've tried this, however it's not recognising 'Params'. Here's my basic setup:

Code: Select all

package com.cavia.avatar  {
	
	import com.cavia.ui.ChatBubbleMC;
	import com.cavia.ui.ThumbsUpIconMC;
	import com.greensock.TimelineMax;
	import com.greensock.TweenAlign;
	import com.greensock.TweenMax;
	import com.greensock.loading.DataLoader;
	import com.smartfoxserver.openspace.engine.control.events.MapInteractionEvent;
	import com.smartfoxserver.openspace.engine.model.avatar.Avatar;
	import com.smartfoxserver.openspace.shared.view.items.Tile;
	
	//Added to try and see if this has the missing 'Params'.
	import com.smartfoxserver.openspace.engine.control.events.OpenSpaceEvent;
	import com.cavia.openspace.AvatarManager;
	import com.cavia.openspace.MapEditingManager;
	import com.cavia.openspace.MapInteractionManager;
	import com.cavia.openspace.MapsLoadingManager;
	import com.cavia.smartfox.SFSEventHandlers;
	import com.smartfoxserver.openspace.components.flash.OpenSpace;
	
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.Shape;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLVariables;
	import flash.utils.getDefinitionByName;
	import flash.utils.getQualifiedClassName;	

Code: Select all

		public function onMouseOverAvatar(evt:MouseEvent) 
		{
			trace("Here Nige - evt.params.id: " + evt.params.id);
			trace("Here Nige - global.MyUserID: " + global.MyUserID);
			
			if (evt.params.id != global.MyUserID)
			{
			   this.pThumbIconMC.visible = true;
			}
			
			if (this.pThumbsupTimeline != null) {
				this.pThumbsupTimeline.kill();
			}
			
			var myTimeline:TimelineMax = new TimelineMax();
			pThumbsupTimeline = myTimeline;
			
			myTimeline.insertMultiple([new TweenMax(this.pThumbIconMC, 0.5, {alpha: 1.0})], 0, TweenAlign.START, 0.0);			
			myTimeline.insertMultiple([new TweenMax(this.pThumbIconMC, 0.5, {alpha: 1.0})], 3.0, TweenAlign.SEQUENCE, 3.0);			
			myTimeline.insertMultiple([new TweenMax(this.pThumbIconMC, 0.5, {alpha: 0.0})], 3.0, TweenAlign.SEQUENCE, 6.0);
			
		}
		
		public function onMouseOutAvatar(evt:MouseEvent) 
		{
			//this.pThumbIconMC.visible = false;
		}		
		
		
		public function onMouseThumbsUp(evt:MouseEvent) 
		{
			//this.pThumbIconMC.visible = false;
			//trace("Thumbs Up Clicked lets try again");
			
			//global.MyThumbsUp = 1;
			trace("Here Nige - evt.params.id: " + evt.params.id);
			trace("Here Nige - global.MyUserID: " + global.MyUserID);
			
			if (global.MyThumbsUp > 0 && evt.params.id != sfs.mySelf.id) 
			{			
			
			var request:URLRequest = new URLRequest("http://www.somewebsite.com/game_site/php/clientUpdateUserInfo.php");			
			var data:URLVariables = new URLVariables();
			data.a = "upThumb";
			data.sk = "hash";			
			data.Dat = global.MyFacebookID;
			request.data = data;
			request.method = URLRequestMethod.POST;						
			var loader:DataLoader = new DataLoader(request, {name:"userInfo"});
			loader.load();								
			

				global.MyThumbsUp -= 1;	
				global.CaviaMapViewer.ui_header.thumbs_up_count.text = String(global.MyThumbsUp);
			}
		}	
/avatar/AvatarCharacter.as, Line 969, Column 46 1119: Access of possibly undefined property params through a reference with static type flash.events:MouseEvent.
/avatar/AvatarCharacter.as, Line 972, Column 12 1119: Access of possibly undefined property params through a reference with static type flash.events:MouseEvent.
/avatar/AvatarCharacter.as, Line 1002, Column 46 1119: Access of possibly undefined property params through a reference with static type flash.events:MouseEvent.
/avatar/AvatarCharacter.as, Line 1005, Column 37 1119: Access of possibly undefined property params through a reference with static type flash.events:MouseEvent.
/avatar/AvatarCharacter.as, Line 1005, Column 50 1120: Access of undefined property sfs.


Do you know what I'm missing?

Thanks!

Re: Checking Ownership of Avatar

Posted: 28 Feb 2015, 14:31
by Bax
The returned events are of type AvatarEvent, not MouseEvent. That's why they don't contain the "params" property.
You need something like this:

Code: Select all

openSpace.addEventListener(AvatarEvent.ROLL_OVER, onAvatarRollOver);
and:

Code: Select all

public function onAvatarRollOver(evt: AvatarEvent):void
{
   var avatarId:int = evt.params.id;
}