Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-09-2006, 12:27   #1 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 12
Question Sound und Kanalsteuerung

Hallo, ich habe folgendes problem:
Ich will mit Actionscript ein bisschen mit Sound herumprobieren und möchte einen movieclip machen und mit mausbewegungen üder dem mc den sound und die boxen steuern (rauf lauter, runter leiser, nach links linke box lauter, rechts rechte box lauter) leider weiß ich ganz und gar nicht wie ich das machen kann (mit _xmouse usw. is scho klar, aber ich weiß ned wie ich das codetechnisch umsetzten soll )

danke im vorraus
seas ist offline   Mit Zitat antworten
Alt 15-09-2006, 12:30   #2 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
schau ma in der hilfe nach Sound.setTransform(), Sound.setVolume() bzw Sound.setPan()
public ist offline   Mit Zitat antworten
Alt 15-09-2006, 12:39   #3 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 12
das mit den Funktionen ist mir auch klar, ich weiß nur nicht, wie ich es rechnen soll, damit die jeweilige position der maus z.B.: die % für die lautstärke regelt
seas ist offline   Mit Zitat antworten
Alt 15-09-2006, 12:45   #4 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
ik würde die die mouse position in prozent umrechnen und dann die die werdte i9n die methoden für das sound object übertragen
public ist offline   Mit Zitat antworten
Alt 15-09-2006, 13:47   #5 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
also so...
PHP-Code:
var snd:Sound = new Sound(this);
snd.loadSound("songs/01 - Titel 1.mp3"true);
var 
yMouseMax:Number Stage.height;
var 
xMouseMax:Number Stage.width;
onMouseMove = function () {
    var 
yPercent Math.round((yMouseMax-_root._ymouse)/yMouseMax*100);
    var 
xPercent = -Math.round((xMouseMax/2-_root._xmouse)*2/xMouseMax*100);
    
snd.setVolume(yPercent);
    
snd.setPan(xPercent);
    
ausgabe_txt.text "_xmouse = "+xPercent+"%\n"+"_ymouse = "+yPercent+"%";
    
updateAfterEvent();
}; 
public ist offline   Mit Zitat antworten
Alt 15-09-2006, 14:15   #6 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 12
danke für deine hilfe! habs mittlerweile auch schon gelöst (nur eben auf den movieclip begrenzt)
Code:
function leiselaut () {
	var rund  = mccube._ymouse / mccube._height;
	var vol = Math.floor (rund *100);
	vol = 100-vol;
	mySound.setVolume(vol);
}

function rlpan() {
	var runden = mccube._xmouse / mccube._width;
	var erg  = Math.floor (runden *100);
	if (erg <=50) erg = -100 +erg;
	mySound.setPan(erg);
}
seas ist offline   Mit Zitat antworten
Alt 15-09-2006, 14:19   #7 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
hier noch ne prototype variante

PHP-Code:
var snd = new Sound(this);
snd.loadSound("songs/01 - Titel 1.mp3"true);
Sound.prototype.mouseControl = function(target:MovieClip) {
    var 
scope this;
    
target.onMouseMove = function() {
        var 
yPercent Math.round((this._height-this._ymouse)/this._height*100);
        var 
xPercent = -Math.round((this._width/2-this._xmouse)*2/this._width*100);
        if (
this._xmouse<=this._width && this._ymouse<=this._height && this._xmouse>=&& this._ymouse>=0) {
            
scope.setVolume(yPercent);
            
scope.setPan(xPercent);
            
//_root.ausgabe_txt.text = "Pan: "+xPercent+"%\n"+"Volume: "+yPercent+"%";
        
}
        
updateAfterEvent();
    };
};
snd.mouseControl(aaa); 

Geändert von public (15-09-2006 um 14:49 Uhr)
public ist offline   Mit Zitat antworten
Alt 15-09-2006, 14:26   #8 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 12
Danke, hast mir echt viel weitergeholfen!!!
seas ist offline   Mit Zitat antworten
Alt 15-09-2006, 14:50   #9 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
bitte bitte habst jetze ooch n och mit mc begrenzung geupdateted...
public ist offline   Mit Zitat antworten
Alt 15-09-2006, 15:19   #10 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
noch ne kleine verbesserung...
PHP-Code:
// Sound.mouseControl(target:MovieClip, maxVol:Number, Cursor:Boolean) 
PHP-Code:
var snd = new Sound(this);
var 
maxVolume 20;
snd.loadSound("songs/01 - Titel 1.mp3"true);
snd.setVolume(maxVolume);
Sound.prototype.mouseControl = function(target:MovieClipmaxVol:Numbercursor:Boolean) {
    var 
scope this;
    
target.useHandCursor cursor;
    
target.onRollOver = function() {
        
this.onMouseMove = function() {
            var 
yPercent Math.round((this._height-this._ymouse)/this._height*(100-(100-maxVol)));
            var 
xPercent = -Math.round((this._width/2-this._xmouse)*2/this._width*100);
            
scope.setVolume(yPercent);
            
scope.setPan(xPercent);
            
updateAfterEvent();
        };
    };
    
target.onRollOut = function() {
        
scope.setVolume(100-(100-maxVol));
        
scope.setPan(0);
        
delete this.onMouseMove;
    };
};
snd.mouseControl(aaamaxVolumetrue); 

Geändert von public (15-09-2006 um 15:43 Uhr)
public ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele