Carissimo,
ti ringrazio infinitamente, sei stato di una gentilezza e disponibilità non comune.
Da tanto cercavo di realizzare il gioco e di capirne il meccanismo, la tua risposta mi ha dato degli indirizzi di studio con cui mi devo cimentare.
Per ora, quindi, non voglio appesantirmi con ulteriori problemi anche perchè il mio cervello non è più giovane.
Ti ringrazio ancora, feur.
feur
@feur
Post creati da feur
-
RE: Dividere una bitmap e muovere i pezzi
-
Dividere una bitmap e muovere i pezzi
Buongiono a tutti,
vorrei creare un giochetto per il mio nipotino(una specie di puzzle) e contemporaneamente imparare qualcosa di più da as3.
Ho copiato da internet il codice che segue con il quale si ottiene lo spezzettamento di una bitmap.
Questo codice,tuttavia, non consente di trascinare i singoli pezzi. Ho tentato
di aggiungere codice adeguato ma nonostante vari tentativi mi riesce di spostare solo un pezzo.
C'è qualcuno che mi possa aiutare nel senso da me desiderato?
Ringrazio sentitamente ,feur.
// Impostiamo le variabili per il numero di tasselli
var pezzi_h:uint
var pezzi_v:uint
// Creiamo lo sprite dove mostreremo i tasselli
var sprite_tasselli:Sprite = new Sprite();imposta_divisione("NONNO.jpg",3,3)
function imposta_divisione(quale:String,po:uint,pv:uint):void{
// impostiamo il numero di pezzi orizzontali
pezzi_h = po
// impostiamo il numero di pezzi verticali
pezzi_v = pv
var carica_foto:Loader = new Loader()
var richiesta:URLRequest = new URLRequest(quale)
carica_foto.contentLoaderInfo.addEventListener(Event.COMPLETE,dividi_foto)
carica_foto.load(richiesta)
}
//*************************************************************
function dividi_foto(chi:Event):void{
// creiamo una copia dell'immagine
var immagine:Bitmap = Bitmap(chi.target.loader.content);
// stabiliamo larghezza e altezza di ogni pezzo
var l_pezzo = Math.floor(immagine.width/pezzi_h)
var a_pezzo = Math.floor(immagine.height/pezzi_v)
// tagliamo i vari pezzi
for(var r:uint=0;r<pezzi_h;r++){ // percorriamo tutte le righe
for(var c:uint=0;c<pezzi_v;c++){ // e tutte le colonne
// creiamo una bitmap con le dimensioni del pezzo del puzzle
var img_pezzo:Bitmap = new Bitmap(new BitmapData(l_pezzo,a_pezzo));
// copiamo i pixel dall'immagine originale al pezzo creato
img_pezzo.bitmapData.copyPixels(immagine.bitmapData,new Rectangle(rl_pezzo,ca_pezzo,l_pezzo,a_pezzo),new Point(0,0));
// creiamo un nuovo sprite
var sprite_pezzo:Sprite = new Sprite();
sprite_pezzo.x = Math.random()*500
sprite_pezzo.y = Math.random()*400
// inseriamo nello sprite la bitmap creata
sprite_pezzo.addChild(img_pezzo);
// inseriamo lo sprite "sprite_pezzo" dentro a "sprite_tasselli"
sprite_tasselli.addChild(sprite_pezzo)
}
}
// aggiungiamo sprite_tasselli allo stage
addChild(sprite_tasselli)
//*****MUOVE SOLO UN PEZZOsprite_pezzo.addEventListener(MouseEvent.MOUSE_DOWN, mouseDow)
function mouseDow(event:MouseEvent):void {
sprite_pezzo.startDrag();
}
sprite_pezzo.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent):void {
sprite_pezzo.stopDrag();
}
//**********************************************************************
} -
Xml
Buongiorno a tutti,
sono un vecchio(74enne)neofita con ancora tanta voglia di apprendere.
Vorrei creare un programma in grado di leggere un XML in cui sono memorizzati gli indici di una raccolta di riviste di storia;a tal fine ho scritto queste righe di codice che sono funzionanti ma non funzionali.
Vorrei poter scrivere la parola da ricercare in un campo di testo di input ma nonostante mille tentativi non sono stato capace di ottenere alcun risultato.
Sarei sommamente grato a chi volesse completare il codice di seguito riportato.
Nel mio caso, considerata l'età,la sollecitudine assume un particolare significato.
Ancora grazie da feur.//n.4-Voglio tutti gli articoli il cui titolo sia medioevo:
var xmlLoader:URLLoader = new URLLoader();
var xmlRequest:URLRequest = new URLRequest("rivista.xml");
function mostra(e:Event) {
var xml:XML = new XML(e.target.data);
var xmlList:XMLList = xml.rivista.(titolo=="urso");
var t:String=(xmlList);
testo.appendText(t)
}
xmlLoader.addEventListener(Event.COMPLETE, mostra);
xmlLoader.load(xmlRequest); -
eventi da tastiera
tf.addEventListener(Event.KEY_DOWN,ChiamaMP3);
function ChiamaMP3(event:Event):void{
if (65==event.keyCode);
}
var sound:Sound = new Sound();
var String = "a.mp3";
var urlRequest:URLRequest = new URLRequest("a.mp3");
sound.load(urlRequest);
sound.play();Credevo che questo codice fosse sufficiente a chimare un file MP3 mediante la pressione del tasto 'a' della tastiera
Qualcuno può darmi una mano?
Ringrazio vivamente,
feur -
TextField e strumento testo
Buongiorno a tutti,
propongo all'attenzione del Forum il seguente quesito:
è possibile che all'interno del file as(flash as3) il quale presuppone l'uso di un campo di testo, invece del codice che lo costruisce, si possa usare lo strumento testo?frma restando,naturalmente,la intelaiatura della classe?.
Ho provato a modificare il file as di seguito riportato senza,però,alcun risultato.
Qualcuno me lo può correggere?
Ringrazio e cordialmente saluto-
feur
file originale
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.system.Capabilities;
public class esempiocapabilities extends Sprite {
public function esempiocapabilities() {
var myTextField:TextField = new TextField();
myTextField.x = 10;
myTextField.y = 10;
myTextField.background = true;
myTextField.autoSize = TextFieldAutoSize.LEFT;var greetingEnglish:String = "Hello World"; var greetingGerman:String = "Hallo Welt"; var greetingFrench:String = "Bonjour Monde"; var greetingSpanish:String = "Hola Mundo"; var lang:String = Capabilities.language; var testo= new textField switch (lang) { case "en": myTextField.text = greetingEnglish; testo.text = greetingEnglish; break; case "de": myTextField.text = greetingGerman; testo.text = greetingGerman; break; case "fr": myTextField.text = greetingFrench; testo.text = greetingFrench; break; case "es": myTextField.text = greetingSpanish; testo.text = greetingSpanish; break; default: myTextField.text = "Sorry your system's language is not supported at this time."; testo.text = "Sorry your system's language is not supported at this time."; } this.addChild(myTextField); this.addChild(testo); } }
}
file modificato
package {
// import flash.display.Sprite;
//import flash.text.TextField;
//import flash.text.TextFieldAutoSize;
import flash.system.Capabilities;
// public class esempiocapabilities extends Sprite {
public function esempiocapabilities() {
/* var myTextField:TextField = new TextField();
myTextField.x = 10;
myTextField.y = 10;
myTextField.background = true;
myTextField.autoSize = TextFieldAutoSize.LEFT;*/var greetingEnglish:String = "Hello World"; var greetingGerman:String = "Hallo Welt"; var greetingFrench:String = "Bonjour Monde"; var greetingSpanish:String = "Hola Mundo"; var lang:String = Capabilities.language; var testo= new textField switch (lang) { case "en": // myTextField.text = greetingEnglish; testo.text = greetingEnglish; break; case "de": // myTextField.text = greetingGerman; testo.text = greetingGerman; break; case "fr": // myTextField.text = greetingFrench; testo.text = greetingFrench; break; case "it": //myTextField.text = greetingSpanish; testo.text = greetingSpanish; break; default: // myTextField.text = "Sorry your system's language is not supported at this time."; testo.text = "Sorry your system's language is not supported at this time."; } // this.addChild(myTextField); this.addChild(testo); } }
//}
-
xml e flash as3
Buongiorno a tutti,
sto studiando Flash as3, per ora senza l'uso delle classi(anche alla mia età si può studiare informatica!), in particolare sto sbattendo la tesa contro XML.
Nel mentre ho capito come fare per caricare un file xml, leggerlo e trasferirne il contenuto in una casella di testo, non riesco a capire come devo fare per far apparire una foto(senza l'uso delle classi).
Qualcuno potrebbe inviarmi una semplice galleria tenendo presente che sono ai primi passi?
Ringrazio per la gentilezza e porgo a tutti saluti e auguri,
feur.
PS, ho inviato analoga richista tramite messaggio, forse ho sbagliato, chiedo scusa al destinatario. -
Array di pulsanti
Sto studiando flash as3, ho copiato questo codice dal mio testo e vorrei,facendo click sui singoli pulsanti, modificarne l'alpha. Nonostante innumerevoli tentativi non mi riesce di ottenere quanto desiderato.Ringrazio chiunque intenda aiutarmi
/Creo un pulsante e lo concateno nella libreria scrivendo
LibraryClip nella voce 'classe' e flash.Display.SimpleButton nella voce'classeBase'
-elimino il pulsante dallo stage/// creo l'array di gestione dei pulsanti
var pulsanti:Array = [];
/creo la var k destinata a contenere i numeri indice dell'array- la pongo a 0/
var k:uint=0;
/creo 2 cicli nidificati che dispongono i pulsanti sul desctop/
for (var i:int=0; i<5; i++) {for (var j:uint=0; j<5; j++) {
k = i*5 + j ;// da 0 a 25
pulsanti[k] = new LibraryClip();
pulsanti[k].x = 50 + (50 * j);//distanza dei puls
pulsanti[k].y = 50 + (50 * i);//distanzaa dei puls
pulsanti[k].width = 40 ;
pulsanti[k].height = 40 ;
addChild(pulsanti[k]);
}}//for
// aggiungo l'evento CLICK che, se richiamato, esegue la funzione clickHandler che
//riporta l'indice del clip cliccato
pulsanti[k].addEventListener(MouseEvent.CLICK, clickHandler);// imposto la funzione clickHandler collegata all'evento "click"
function clickHandler (e:MouseEvent) {
for (var j:uint=0; j<pulsanti.length; j++) {
pulsanti[k][k].alpha = .5;
}
e.target.alpha = 0.5;
}