Archief - FLASH: actionscript probleem *dringend*

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

saiko

Legacy Member
ik ben een totale actionscript n00b, maar zou het vlg willen teweeg brengen in een projectje van me

als je 3x over een button gaat, dan zou hij moeten springen naar een movieclipje
(het gaat over een kader, en als je 3x over dat kader met je muis gaat, zoutie naar beneje moeten vallen)

ik had eens geprobeerd met mijn kennis van andere programmeertalen met

Code:
var teller = 0

btn_blok.onRollOver = function(){
	teller++;
	
	if(teller==3)
	{
		mov_blok.gotoAndPlay(1)
	}
	
	
}

waarbij btn_blok dat hangend kader is, waar je 3x over moet gaan
en mov_blok, het filmpje is waar dat hij naar moet springen als je er 3x over bent geweest

als ik crtl+t doe, krijg ik vlg foutmelding:

Code:
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on handler
     var teller = 0

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 3: Statement must appear within on handler
     btn_blok.onRollOver = function(){

Total ActionScript Errors: 2 	 Reported Errors: 2

hopelijk verstaat iemand wat ik precies wil doen & kan mij beetje helpen

Bigbuddha

Legacy Member
je kan je script op de knop zelf zetten of in het frame. De code die je nu hebt moet in de frame staan, waarschijnlijk heb je die op de knop staan.

Breen

Legacy Member
Zoals Bigbuddha al zei, moet je code op een frame staan, en niet op de knop zelf. Waarschijnlijk staat ook je mov op dezelfde plaats als je knop, en niet IN de knop, daarom moet je ook
Code:
mov_blok.gotoAndPlay(1)
aanpassen naar
Code:
this._parent.mov_blok.gotoAndPlay(1)

Dat geeft dan

Code:
var teller = 0

btn_blok.onRollOver = function(){
	teller++;
	
	if(teller==3)
	{
		this._parent.mov_blok.gotoAndPlay(1)
	}
	
	
}

Bigbuddha

Legacy Member
this.parent.mov_blok.gotoAndPlay(1)

-> this._parent.mov_blok.gotoAndPlay(1)

:)

Breen

Legacy Member
How, mijn verontschuldigingen, had ze enkel in de eerste aanpassing gemist ;)

Thx, Bigbuddha

virox

Legacy Member
vraagje:

this.parent.mov_blok.gotoAndPlay(1)
is dat hetzelfde als dit
_root.mov_blok.gotoAndPlay(1)

of is this.parent gewoon een layer terugkeren?

Breen

Legacy Member
vraagje:

this.parent.mov_blok.gotoAndPlay(1)
is dat hetzelfde als dit
_root.mov_blok.gotoAndPlay(1)

of is this.parent gewoon een layer terugkeren?

Zoals Bigbuddha al opmerkte is het "_parent" ipv "parent". Idd _parent zorgt ervoor dat je een level omhoog gaat, in je object tree, dat is dus NIET hetzelfde als _root, _root gaat terug naar de basis van je object tree, de swf die op dat moment op _level0 staat...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan