Ciao a tutti!
Non so più dove sbattere la testa!
Dovrei inviare una variabile, score, ad un form in php per registrarla poi in un database.
Non riesco pero' a farla passare a php..
Sapete darmi una mano ?
Qui il codice
e il mio pulsante ha un normale
Vi allego anche il file che potete scaricare da qua
file
Non so più dove sbattere la testa!
Dovrei inviare una variabile, score, ad un form in php per registrarla poi in un database.
Non riesco pero' a farla passare a php..
Sapete darmi una mano ?
Qui il codice
PHP:
Stage.align = "tl";//aligns flash top left
Stage.scaleMode = "Scale";//makes objects not stretch when page is resized
//define vars
var segmentNumber:Number = 0;
var segmentLength:Number = new Number;
var segmentDistance:Number = new Number;
var currentSegX:Number = new Number;
var currentSegY:Number = new Number;
var currentSegR:Number = new Number;
var turnIncriment:Number = new Number;
var speed:Number = new Number;
var addSegInc:Number = 7;
var yumNum:Number = 0;
var numberOfSegs:Number = new Number;
var score:Number = 0;
var scoreInc:Number = 10;
//get xml
var snakeGameXML:XML = new XML();
snakeGameXML.ignoreWhite = true;
snakeGameXML.onLoad = function(bSuccess:Boolean):Void {
if (bSuccess) {
//get the variables from the xml
segmentLength = Number(snakeGameXML.firstChild.attributes.segmentLength);
segmentDistance = Number(snakeGameXML.firstChild.attributes.segmentDistance);
startSegX = Number(snakeGameXML.firstChild.attributes.currentSegX);
startSegY = Number(snakeGameXML.firstChild.attributes.currentSegY);
startSegR = Number(snakeGameXML.firstChild.attributes.currentSegR);
turnIncriment = Number(snakeGameXML.firstChild.attributes.turnIncriment);
speed = Number(snakeGameXML.firstChild.attributes.speed);
gameHeight = Number(snakeGameXML.firstChild.attributes.gameHeight);
gameWidth = Number(snakeGameXML.firstChild.attributes.gameWidth);
timeBetweenElongate = Number(snakeGameXML.firstChild.attributes.timeBetweenElongate)* 1000;
}else{
trace("xml did not load, use defaults");
//these are the default vars for if you aren't using the xml.
segmentLength = 500;
segmentDistance = 7;
startSegX = 100;
startSegY = 30;
startSegR = 90;
turnIncriment = 5;
speed =3;
gameHeight = Stage.height;
gameWidth = Stage.width;
timeBetweenElongate = 1000;
};
createInterface();
attachStartScreen();
};
function createInterface(){
this.attachMovie("header", "header_mc", 43, {_x:gameWidth - 250, _y:5});//this is where the score is
this.createEmptyMovieClip("pointsScoredGroup_mc", 44);//this is where the +10 goes when you hit an apple
createRipple();
};
function createRipple(){
this.createEmptyMovieClip("ripples_mc", 55);//create mc for ripples
var rippleNum:Number = 0;
ripple = new Object();
ripple.interval = function() {
rippleNum++;
var randomX:Number = Math.round(Math.random()* (gameWidth - 40))+20;//random x and y for ripple
var randomY:Number = Math.round(Math.random()* (gameHeight - 40))+20;
var rippleScale:Number = Math.round(Math.random()* 80)+ 80;//random scale
ripples_mc.attachMovie("ripple", "ripple_mc", rippleNum, {_x:randomX, _y:randomY, _xscale:rippleScale, _yscale:rippleScale});//attach ripple
}
setInterval(ripple, "interval", 500 );//attach a ripple every 1/2 second
}
function updateScore(){
var scoreText:String = "SCORE: " + score;//score text
header_mc.score_txt.text = scoreText;
header_mc.scoreShadow_txt.text = scoreText;//write text in shadow
};
function attachStartScreen(){
//this is the start screen
this.createEmptyMovieClip("start_mc", 744);
start_mc._alpha = 0;
start_mc._x = (gameWidth - 350)/2;//define position
start_mc._y = (gameHeight - 350)/2;
start_mc.attachMovie("startScreen", "startScreen_mc", 2);
tweenAlpha("start_mc", 100, false);//tween fade in
start_mc.startScreen_mc.startButton_mc.onRelease = function(){//start button
score = 0;
updateScore();
startSnake(segmentLength);
attachYum();
tweenAlpha("start_mc", 0, true);//fade start button out
segmentInterval = setInterval(segments, "interval", timeBetweenElongate);//periodically make snake longer
};
};
function attachEndScreen(){
//this is the end screen
this.createEmptyMovieClip("end_mc", 744);
end_mc._x = (gameWidth - 350)/2;//define position
end_mc._y = (gameHeight - 350)/2;
end_mc.attachMovie("endScreen", "endScreen_mc", 2);
// end_mc.attachMovie("header_pette","header_pette_mc", 4);
//end_mc.attachMovie("header_pette", "endScreen_mc", 3);
//updateScore();
stop();
};
//start the snake
function startSnake(segToAdd:Number):Void{
//starting point for the snake
currentSegX = startSegX;
currentSegY = startSegY;
currentSegR = startSegR;
snake_mc.removeMovieClip();//kill the old snake
this.createEmptyMovieClip("snake_mc", 10);//make new snake
snake_mc._alpha = 0;//start invisible
tweenAlpha("snake_mc", 100, false);//fade snake in
yums_mc.removeMovieClip();//get rid of apples
this.createEmptyMovieClip("yums_mc", 409);//make new clip for apples
for(var i:Number = 1;i<segToAdd;i++){
segmentNumber++;
currentSegX += segmentDistance;//add segments
snake_mc.attachMovie("bodySeg", "seg"+segmentNumber+"_mc", segmentNumber, {_x:currentSegX, _y:currentSegY, _rotation:currentSegR});
};
snake_mc.attachMovie("head", "head_mc", 1, {_x:currentSegX, _y:currentSegY, _rotation:currentSegR});//attach snake head
numberOfSegs = segToAdd;
moveSnake();
};
//where to put the next segment
function segPosition():Array{
if(Key.isDown(Key.RIGHT)) { //when you click the right button change angle
currentSegR += turnIncriment;
}else if (Key.isDown(Key.LEFT)) { //when you click the left button change angle
currentSegR += -turnIncriment;
}
currentSegX += Math.sin( (Math.PI* currentSegR)/180 )* segmentDistance;//determine where next seg x and y go
currentSegY += -(Math.cos( (Math.PI* currentSegR)/180 )* segmentDistance);
segmentNumber++;
var positionsArray:Array = new Array;//create array for positions
//if the snake goes off the screen put the on the opposite side
if(currentSegX > gameWidth + 16){
currentSegX = -16;
}else if(currentSegX < -16){
currentSegX = gameWidth + 16;
};
if(currentSegY > gameHeight + 16){
currentSegY = -16;
}else if(currentSegY < -16){
currentSegY = gameHeight + 16;
};
positionsArray.push(currentSegX, currentSegY, currentSegR);//push positions to array
return positionsArray;
};
//check the hit areas
function checkHit(){
//check to see if the head hits the snake
for(var i:Number = segmentNumber - numberOfSegs;i<segmentNumber;i+=5){
if(eval("snake_mc.seg"+i+"_mc").hitTest(snake_mc.head_mc.hitArea_mc)){
delete snake_mc.onEnterFrame;//stop moving snake
//clearInterval(segmentInterval);//stop adding segments
//tweenAlpha("snake_mc", 0, true);//fade snake out
//
//mettere funzione per visualizzare lo score e la registrazione
//
attachEndScreen();
//
//
//
//
//
//
};
};
};
function checkYumHit():Void{
//see if the apples hit the snake head
if (eval("yums_mc.yum"+yumNum+"_mc").hitTest(snake_mc.head_mc.hitArea_mc)){
pointsScoredGroup_mc.attachMovie("pointsScored", "pointsScored"+yumNum+"_mc", yumNum, {_x:eval("yums_mc.yum"+yumNum+"_mc")._x, _y:eval("yums_mc.yum"+yumNum+"_mc")._y});
eval("pointsScoredGroup_mc.pointsScored"+yumNum+"_mc").score_txt.text = "+" + scoreInc;//change score text
tweenAlpha("pointsScoredGroup_mc.pointsScored"+yumNum+"_mc", 0, true);
eval("yums_mc.yum"+yumNum+"_mc").removeMovieClip();//remove apple
score += scoreInc;//add to score
updateScore();//update score
attachYum();
};
};
function attachYum():Void{
//attach an apple
yumNum++;
//random position of the apple
var randomX:Number = Math.round(Math.random()* (gameWidth - 40))+20;
var randomY:Number = Math.round(Math.random()* (gameHeight - 40))+20;
var randomR:Number = Math.round(Math.random()* 360);
//var randomY:Number =
yums_mc.attachMovie("yumYum", "yum"+yumNum+"_mc", yumNum, {_x:randomX, _y:randomY, _rotation:randomR, _alpha:0});
tweenAlpha("yums_mc.yum"+yumNum+"_mc", 100, false);//fade alpha in
};
//peridically make it longer
segments = new Object();
segments.interval = function() {
numberOfSegs += addSegInc;//add segments
}
//move the snake
function moveSnake():Void{
snake_mc.onEnterFrame = function(){
checkYumHit();//see if you are eating an apple
for(var i:Number = 0;i<speed;i++){
var positionsArray:Array = segPosition();//get positions of next seg
checkHit();//check to see if snake hits itself
snake_mc.head_mc._x = positionsArray[0];//move head
snake_mc.head_mc._y = positionsArray[1];//move head
snake_mc.head_mc._rotation = positionsArray[2];//move head
snake_mc.head_mc.swapDepths(segmentNumber + 100);//move head depth
snake_mc.attachMovie("wake", "wake"+segmentNumber+"_mc", segmentNumber + 99, {_x:positionsArray[0], _y:positionsArray[1], _rotation:positionsArray[2]});//attach wake
snake_mc.attachMovie("bodySeg", "seg"+segmentNumber+"_mc", segmentNumber, {_x:positionsArray[0], _y:positionsArray[1], _rotation:positionsArray[2]}); //attach body seg
var lastSegNum:Number = segmentNumber-numberOfSegs;//number of last segment
eval("snake_mc.seg"+lastSegNum+"_mc").removeMovieClip();//remove the last segment
//make the tail taper off and get skinny at neck
if(i == 1){
//make the first part skinny
var smallestWidth:Number = 30;//skinniest part of the neck
var numberToGrow:Number = Math.round(numberOfSegs/3)//grows from the first 1/4
if(numberToGrow > 30){
numberToGrow = 30;
};
for(var iii:Number = 0;iii<numberToGrow;iii++){
eval("snake_mc.seg"+(segmentNumber - iii)+"_mc")._xscale = iii* ((100-smallestWidth)/numberToGrow) + smallestWidth;
};
//how many taper off
var numberToTaper:Number = Math.round(numberOfSegs/2);//tapers the last 1/2
if(numberToTaper > 45){
numberToTaper = 45;
};
for(var ii:Number = 0;ii<numberToTaper;ii++){
eval("snake_mc.seg"+(lastSegNum + ii)+"_mc")._xscale = ii* (100/numberToTaper);
};
};
};
};
};
//tween fade
easeType = mx.transitions.easing.Strong.easeOut;
var tweenTime = .5;
tweenAlpha = function(tweenClipAlpha:String, tweenEndAlpha:Number, thenRemove:Boolean){
//fade in and out function
tweenClipAlpha = eval(tweenClipAlpha);
alphaTween = new mx.transitions.Tween(tweenClipAlpha, "_alpha", easeType, getProperty(tweenClipAlpha, _alpha), tweenEndAlpha, 1, true);
if(thenRemove == true){//if true remove the clip when faded in or out
alphaTween.onMotionFinished = function(){
eval(tweenClipAlpha).removeMovieClip();
};
};
};
snakeGameXML.load("snakeGame.xml");//loads xml
e il mio pulsante ha un normale
PHP:
on (release)
{
getURL("http://mary:8888/registra.php", "_self", "POST");
}
Vi allego anche il file che potete scaricare da qua
file