..:: MX Studio Fóruns ::..: ajuda em projecto de interactividade - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

ajuda em projecto de interactividade tenho código detecta o mouse,mas quero q detecte o movimento da cam

#1 User is offline   donaci 

  • Group: Membros
  • Posts: 2
  • Joined: 07-April 08

Posted 07 April 2008 - 10:04 PM

estou a desenvolver um projecto de interactividade, o objectivo é que as bolinhas fujam da pessoa, movimento detectado pela camera.
acontece que tenho código associado às bolinhas (movieclip) que fazem com q estas se desviem do cursor do rato, o que eu queria era associar o movimento detectado pela webcam às bolinhas e fazer com que elas fujam. o que se passa é que tenho código para elas seguirem o movimento da camera e codigo para que elas fujam do rato.
o codigo para elas fugirem do rato é este aqui, será que alguém o consegue transformar???

onClipEvent (load) {
this._alpha = 30;
this.ox = this._x;
this.oy = this._y;
}
onClipEvent (enterFrame) {
if ((_root.getBytesLoaded()*100)/_root.getBytesTotal()>=30) {
this._alpha = 100;
}
if (Math.abs(this._x-_root._xmouse)<=_root.diff and Math.abs(this._y-_root._ymouse)<=_root.diff) {
this._x = (this._x-(_root._xmouse-this._x));
this._y = (this._y-(_root._ymouse-this._y));
}
if (Math.abs(this._x-_root._xmouse)>_root.diff or Math.abs(this._y-_root._ymouse)>_root.diff) {
this._x += (this.ox-this._x)/5;
this._y += (this.oy-this._y)/5;
}
xd = Math.abs(_root._xmouse-this._x);
}
0

#2 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 09 April 2008 - 02:25 PM

Cara, desculpa mas não entendi o problema.

Você quer que esse código seja adaptado pra que ?

Cade o código que você falou que detecta a movimentação da camera ?

Coloca seu arquivo pra gente ver ?

Abraço...
0

#3 User is offline   donaci 

  • Group: Membros
  • Posts: 2
  • Joined: 07-April 08

  Posted 09 April 2008 - 11:18 PM

consegui resolver!!!!!
entao passo a explicar:
o código que tinha anteriormente fazia com que o meu objecto respondesse ao movimento do mouse. o que eu queria era que o meu objecto respondesse ao movimento detectado pela webcam, mas não perdendo o comportamento de quando respondia ao mouse.
o que eu tinha inicialmente eram dois códigos, aquele que já mostrei que permitia q o meu objecto respondesse ao mouse, e um outro. este ultimo era de uma bola que seguia o movimento detectado pela webcam.
o pretendido era a "união" destes dois códigos. esta fusão foi conseguida, precisa de ser afinada mas já dá para entender...

este é o código da bola que nos segue...

CODE

stop();
var diff = 50;
import flash.display.*;
import flash.geom.*;
// ----------------------------------------------------------
// INIT
// ----------------------------------------------------------
ball.inTrans = false;
setInterval(detection, 100);
gameSizeX = 600;
gameSizeY = 800;
// ----------------------------------------------------------
// Connect the webcam
// ----------------------------------------------------------
cam = Camera.get();
vid.attachVideo(cam);
// ----------------------------------------------------------
// Main Functions
// ----------------------------------------------------------
now = new BitmapData(cam.width, cam.height);
before = new BitmapData(cam.width, cam.height);
rect = new Rectangle(0, 0, cam.width, cam.height);
//trace("cam.width="+cam.width+" cam.height="+cam.height);
sizeDif = gameSizeX / cam.width;
//trace("This Screen Size VS Video = 1:"+ sizeDif);
//trace("-----------------------------------------------");
pt = new Point(0, 0);
// Show The MonoColor image
//coverRect = new Rectangle(0, 0, 130, 120);
function detection() {

if (!cam.muted) {
now.draw(vid);
now.draw(before, new Matrix(), new ColorTransform(), 'difference');
now.threshold(now, rect, pt, '>', 0xff333333, 0xffff0000);
now.fillRect(coverRect, 0xff000000);
before.draw(vid);
//
re = now.getColorBoundsRect(0xffffffff, 0xffff0000, true);
// trace(r.toString());
ColorChange = now.threshold(now, re, new Point(re.x, re.y), '==', 0xffff0000, 0xffff0000);
// trace(ColorChange);
if (re.x<800 && ColorChange>10) {
ballNewY = (re.height/2+re.y)*sizeDif;

}
if (re.y<600 && ColorChange>10) {
ballNewX = re.width/2+re.x;
ballNewX = gameSizeX-(ballNewX*sizeDif);
}
tweenPlayer(ballNewY,ballNewX);
}
}

// display the motion detection bitmap
//_root.attachBitmap(now, 10);
//
vx = 4;
vy = 4;
//r = ball._width/2;
function tweenPlayer(param,param2) {
easeType = mx.transitions.easing.Regular.easeOut;
var mc = ball;
if (mc.inTrans == false) {
//mc.inTrans = true;
var begin = mc._y;
var beginX = mc._x;
var end = param;
//var endy = mc._y+(random(10)-5);
var time = 0.4;
ballTween = new mx.transitions.Tween(mc, "_y", easeType, begin, end, time, true);
ballTween = new mx.transitions.Tween(mc, "_x", easeType, beginX, param2, time, true);
ballTween.onMotionFinished = function() {
mc.inTrans = false;
};
}
}



.....e este é o código para os objectos que se vão desviar da bola que nos segue...ou seja os objectos desviam-se de nós...

CODE
onClipEvent(load){
this._alpha = 30;
this.ox = this._x;
this.oy = this._y;
}
onClipEvent (enterFrame) {
if ((_root.getBytesLoaded()*100)/_root.getBytesTotal()>=10) {
this._alpha = 20;
}
if (Math.abs(this._x-_root.ball._x)<=_root.diff and Math.abs(this._y-_root.ball._y)<=_root.diff) {
this._x = (this._x-(_root.ball._x-this._x));
this._y = (this._y-(_root.ball._y-this._y));
}
if (Math.abs(this._x-_root.ball._x)>_root.diff or Math.abs(this._y-_root.ball._y)>_root.diff) {
this._x += (this.ox-this._x)/5;
this._y += (this.oy-this._y)/5;
}
xd = Math.abs(_root.ball._x-this._x);
}


eu gostava que vissem o projecto final mm...mas quando estiver pronto publico num blog e partilho..ou então partilho aqui se der
(não sei se me soube explicar...espero que sim)
0

#4 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 09 April 2008 - 11:45 PM

Muito curiosa essa sua ideia.....achei bem diferente !
O resultado final parece ser muito legal com esse tipo de interafividade....

Se lembrar, posta sim aqui no fórum ou da o link pra gente ver depois como ficou....

Abraço !!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)