Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.10.2015, 13:43
Illiyaz вне форума Посмотреть профиль Отправить личное сообщение для Illiyaz Найти все сообщения от Illiyaz
  № 1  
Ответить с цитированием
Illiyaz

Регистрация: Oct 2015
Сообщений: 4
Attention AC3.0 error 1011 a term is undefined and has no properties

Я не очень давно изучаю АС... И совсем не могу понять, откуда такая ошибка ) (прикрепил файл с кодом в раре)
Вложения
Тип файла: rar KOD.rar (24.8 Кб, 33 просмотров)

Старый 06.10.2015, 20:21
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код надо сюда выкладывать, в теги [AS3 ][/AS3 ]

Старый 13.10.2015, 12:04
Illiyaz вне форума Посмотреть профиль Отправить личное сообщение для Illiyaz Найти все сообщения от Illiyaz
  № 3  
Ответить с цитированием
Illiyaz

Регистрация: Oct 2015
Сообщений: 4
Код AS3:
//игра неоновый пинпонг
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.events.MouseEvent;
 
var up:Boolean = false;
var down:Boolean = false;
var left:Boolean = false;
var right:Boolean = false;
 
var nadpis1 = new win1 ();
var nadpis2 = new win2 ();
 
var goal1 = 0;
var goal2 = 0;
var soundOn = true;
 
var board = {};
board.clip = board1;
board.speed = 3;
board.w = board.clip.width;
board.h = board.clip.height;
 
var pc = {};
pc.clip = board2;
pc.speed = 3;
pc.w = pc.clip.width;
pc.h = pc.clip.height;
 
var ball1 = {};
ball1.clip = ball;
ball1.radius = ball.clip.width/2;
ball1.speed = 3;
ball1.xmov = ball.speed;
ball1.ymov = 2 + Math.random()*2;
ball1.live = true;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, kd);
stage.addEventListener(KeyboardEvent.KEY_UP, ku);
 
 
function kd (e:KeyboardEvent) {
	//trace(e);
	if (e.keyCode==38) {
		up = true;
	}
	if (e.keyCode==40) {
		down = true;
	}
}
 
function ku (e:KeyboardEvent) {
	if (e.keyCode==38) {
		up = false;
	}
	if (e.keyCode==40) {
		down = false;
	}
}
 
//движение зеленой доски
function board_player () {
	if (up) {
		if ((board.clip.y - board.h/2) > wall_up.y) {
			board.clip.y -= board.speed;
			if (board.clip.y - board.h/2 < wall_up.y) {
				board.clip.y = wall_up.y + board.h/2;
			}
		}
	}
	if (down) {
		if ((board.clip.y + board.h/2) < wall_down.y) {
			board.clip.y += board.speed;
			if (board.clip.y + board.h/2 > wall_down.y) {
				board.clip.y = wall_down.y - board.h/2;
			}
		}
		}
}
 
//считаем  положение шара в движении
function moveBalls () {
	ball.tempx = ball.clip.x + ball.xmov;
	ball.tempy = ball.clip.y + ball.ymov;
}
 
//доска с ИИ (красная)
function board_pc () {
	if (ball.clip.y < pc.clip.y) {
		if ((pc.clip.y - pc.h/2) > wall_up.y) {
			pc.clip.y -= pc.speed;
			if (pc.clip.y - pc.h/2 < wall_up.y) {
				pc.clip.y = wall_up.y + pc.h/2;
			}
		}
	}
	if (ball.clip.y > pc.clip.y) {
		if ((pc.clip.y + pc.h/2) < wall_down.y) {
			pc.clip.y += pc.speed;
			if (pc.clip.y + pc.h/2 > wall_down.y) {
				pc.clip.y = wall_down.y - pc.h/2;
			}
		}
	}
}
 
//столкновение с полом и потолком
function detection () {
	//столкновение с верхом
	if (ball.tempy - ball.radius < wall_up.y) {
		var yc = wall_up.y + ball.radius;
		var otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		var xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}
	//столкновение с низом
	if (ball.tempy + ball.radius > wall_down.y) {
		yc = wall_down.y - ball.radius;
		otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}
	//столкновение с правой верхней досочкой
	if (ball.tempy + ball.radius > wall1.y) {
		yc = wall1.y - ball.radius;
		otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}
	//столкновение с правой нижней досочкой
	if (ball.tempy + ball.radius > wall2.y) {
		yc = wall2.y - ball.radius;
		otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}
		//столкновение с левой верхней досочкой
	if (ball.tempy + ball.radius > wall3.y) {
		yc = wall3.y - ball.radius;
		otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}	
	  //столкновение с левой нижней досочкой
	if (ball.tempy + ball.radius > wall4.y) {
		yc = wall4.y - ball.radius;
		otn = (ball.tempy - yc)/(ball.tempy - ball.clip.y);
		xc = ball.tempx - otn*(ball.tempx - ball.clip.x);
		ball.tempx = xc;
		ball.tempy = yc;
		ball.ymov *= -1;
 
	}
}
 
function board_ball_detect () {
	//столкновение с доской игрока
	if (ball.tempx - ball.radius < board.clip.x + board.w/2) {
		if ((ball.clip.y <= board.clip.y + board.h/2 + ball.radius/2)
		&& (ball.clip.y >= board.clip.y - board.h/2 - ball.radius/2)
		&& ball.live) {
			var xc = board.clip.x + board.w/2 + ball.radius;
			var otn = (ball.tempx - xc)/(ball.tempx - ball.clip.x);
			var yc = ball.tempy - otn*(ball.tempy - ball.clip.y);
			ball.tempx = xc;
			ball.tempy = yc;
			ball.xmov *= -1;
			ball.xmov += 0.5;
			ball.ymov *= 1.1;
			pc.speed *= 1.09;
			board.speed *= 0.99;
 
		} else {
			ball.live = false;
		}
	}
	//столкновение с доской противника
	if (ball.tempx + ball.radius >= pc.clip.x - pc.w/2) {
		if ((ball.clip.y <= pc.clip.y + pc.h/2 + ball.radius/2)
		 && (ball.clip.y >= pc.clip.y - pc.h/2 - ball.radius/2)
		 && ball.live) {
			xc = pc.clip.x - pc.w/2 - ball.radius;
			otn = (ball.tempx - xc)/(ball.tempx - ball.clip.x);
			yc = ball.tempy - otn*(ball.tempy - ball.clip.y);
			ball.tempx = xc;
			ball.tempy = yc;
			ball.xmov *= -1;
			ball.xmov -= 0.5;
			ball.ymov *= 1.1;
			pc.speed *= 1.09;
			board.speed *= 0.99;
 
		} else {
			ball.live = false;
		}
	}
}
 
//рисуем шар
function render () {
	ball.clip.x = ball.tempx;
	ball.clip.y = ball.tempy;
}
 
function ef (e:Event) {
	moveBalls ();
	board_player ();
	board_pc ();
	detection ();
	board_ball_detect ();
	render ();
}
Добавлено через 1 минуту
Вот код =)

Старый 13.10.2015, 12:26
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Что такое board1 и board2? Я так понимаю, у Вас объекты просто находятся в кадре на сцене. Тогда по коду невозможно сказать, с каким из них проблемы.
И ошибка то где, в какой строке?
Убедидесь, что всем объектам задан правильный Instance name.
__________________
Reality.getBounds(this);

Старый 13.10.2015, 14:54
Illiyaz вне форума Посмотреть профиль Отправить личное сообщение для Illiyaz Найти все сообщения от Illiyaz
  № 5  
Ответить с цитированием
Illiyaz

Регистрация: Oct 2015
Сообщений: 4
В том-то и дело, что я не знаю в какой строке ) так-бы я сделал сам)
Доски это объекты. а вот насчет последнего... поищу, я мог такое сделать )

Старый 13.10.2015, 16:52
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 6  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Illiyaz,запускаешь в flash IDE? Попробуй запустить в режиме отладки ctrl+sfift+enter- увидишь где эксепшен бросается.

Старый 14.10.2015, 12:53
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 7  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
я смотрел,что то не увидел где у вас доска,есть мяч и поле,разметка на поле,у меня тоже ругнулся именно на доску,в коде есть, но код ругается на то что а где доска,найти не могу,может что то проглядел,может стоит посмотреть где она должна быть,добавить ее на сцену.....

Старый 14.10.2015, 13:00
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 8  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
у меня ругается на
Миниатюры
Нажмите на изображение для увеличения
Название: Скриншот 2015-10-14 11.58.43.jpg
Просмотров: 66
Размер:	146.3 Кб
ID:	31838  

Старый 14.10.2015, 13:14
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 9  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
хммм, ругается на код
Код AS3:
yc = wall.y - ball.radius;
ошибка -1120: Обращение несуществующего свойства wall.
а где этот мувик wall? или что это

Старый 14.10.2015, 14:01
Illiyaz вне форума Посмотреть профиль Отправить личное сообщение для Illiyaz Найти все сообщения от Illiyaz
  № 10  
Ответить с цитированием
Illiyaz

Регистрация: Oct 2015
Сообщений: 4
обновленная версия... ошибок нет.. но.. не работает -,-
Код AS3:
//игра неоновый пинпонг
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.events.MouseEvent;
 
var up:Boolean = false;
var down:Boolean = false;
var left:Boolean = false;
var right:Boolean = false;
 
var nadpis1 = new win1 ();
var nadpis2 = new win2 ();
 
var goal1 = 0;
var goal2 = 0;
 
var board = {};
board.clip = board1;
board.speed = 3;
board.w = board.clip.width;
board.h = board.clip.height;
 
var pc = {};
pc.clip = board2;
pc.speed = 3;
pc.w = pc.clip.width;
pc.h = pc.clip.height;
 
var ball1 = {};
ball1.clip = ball;
ball1.radius = ball1.clip.width/2;
ball1.speed = 3;
ball1.xmov = ball1.speed;
ball1.ymov = 2 + Math.random()*2;
ball1.live = true;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, kd);
stage.addEventListener(KeyboardEvent.KEY_UP, ku);
 
 
function kd (e:KeyboardEvent) {
	//trace(e);
	if (e.keyCode==38) {
		up = true;
	}
	if (e.keyCode==40) {
		down = true;
	}
}
 
function ku (e:KeyboardEvent) {
	if (e.keyCode==38) {
		up = false;
	}
	if (e.keyCode==40) {
		down = false;
	}
}
 
//движение зеленой доски
function board_player () {
	if (up) {
		if ((board.clip.y - board.h/2) > wall_up.y) {
			board.clip.y -= board.speed;
			if (board.clip.y - board.h/2 < wall_up.y) {
				board.clip.y = wall_up.y + board.h/2;
			}
		}
	}
	if (down) {
		if ((board.clip.y + board.h/2) < wall_down.y) {
			board.clip.y += board.speed;
			if (board.clip.y + board.h/2 > wall_down.y) {
				board.clip.y = wall_down.y - board.h/2;
			}
		}
		}
}
 
//считаем  положение шара в движении
function moveBalls () {
	ball1.tempx = ball1.clip.x + ball1.xmov;
	ball1.tempy = ball1.clip.y + ball1.ymov;
}
 
//доска с ИИ (красная)
function board_pc () {
	if (ball.clip.y < pc.clip.y) {
		if ((pc.clip.y - pc.h/2) > wall_up.y) {
			pc.clip.y -= pc.speed;
			if (pc.clip.y - pc.h/2 < wall_up.y) {
				pc.clip.y = wall_up.y + pc.h/2;
			}
		}
	}
	if (ball.clip.y > pc.clip.y) {
		if ((pc.clip.y + pc.h/2) < wall_down.y) {
			pc.clip.y += pc.speed;
			if (pc.clip.y + pc.h/2 > wall_down.y) {
				pc.clip.y = wall_down.y - pc.h/2;
			}
		}
	}
}
 
//столкновение с полом и потолком
function detection () {
	//столкновение с верхом
	if (ball1.tempy - ball1.radius < wall_up.y) {
		var yc = wall_up.y + ball1.radius;
		var otn = (ball1.tempy - yc)/(ball1.tempy - ball1.clip.y);
		var xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}
	//столкновение с низом
	if (ball1.tempy + ball1.radius > wall_down.y) {
		yc = wall_down.y - ball1.radius;
		otn = (ball1.tempy - yc)/(ball1.tempy - ball1.clip.y);
		xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}
	//столкновение с правой верхней досочкой
	if (ball1.tempy + ball1.radius > wall1.y) {
		yc = wall1.y - ball1.radius;
		otn = (ball1.tempy - yc)/(ball1.tempy - ball1.clip.y);
		xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}
	//столкновение с правой нижней досочкой
	if (ball1.tempy + ball1.radius > wall2.y) {
		yc = wall2.y - ball.radius;
		otn = (ball.tempy - yc)/(ball1.tempy - ball1.clip.y);
		xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}
		//столкновение с левой верхней досочкой
	if (ball1.tempy + ball1.radius > wall3.y) {
		yc = wall3.y - ball1.radius;
		otn = (ball1.tempy - yc)/(ball1.tempy - ball1.clip.y);
		xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}	
	  //столкновение с левой нижней досочкой
	if (ball1.tempy + ball1.radius > wall4.y) {
		yc = wall4.y - ball1.radius;
		otn = (ball1.tempy - yc)/(ball1.tempy - ball1.clip.y);
		xc = ball1.tempx - otn*(ball1.tempx - ball1.clip.x);
		ball1.tempx = xc;
		ball1.tempy = yc;
		ball1.ymov *= -1;
 
	}
}
 
function board_ball_detect () {
	//столкновение с доской игрока
	if (ball1.tempx - ball1.radius < board.clip.x + board.w/2) {
		if ((ball1.clip.y <= board.clip.y + board.h/2 + ball1.radius/2)
		&& (ball1.clip.y >= board.clip.y - board.h/2 - ball1.radius/2)
		&& ball1.live) {
			var xc = board.clip.x + board.w/2 + ball1.radius;
			var otn = (ball1.tempx - xc)/(ball1.tempx - ball1.clip.x);
			var yc = ball.tempy - otn*(ball1.tempy - ball1.clip.y);
			ball1.tempx = xc;
			ball1.tempy = yc;
			ball1.xmov *= -1;
			ball1.xmov += 0.5;
			ball1.ymov *= 1.1;
			pc.speed *= 1.09;
			board.speed *= 0.99;
 
		} else {
			ball1.live = false;
		}
	}
	//столкновение с доской противника
	if (ball1.tempx + ball1.radius >= pc.clip.x - pc.w/2) {
		if ((ball1.clip.y <= pc.clip.y + pc.h/2 + ball1.radius/2)
		 && (ball1.clip.y >= pc.clip.y - pc.h/2 - ball1.radius/2)
		 && ball1.live) {
			xc = pc.clip.x - pc.w/2 - ball1.radius;
			otn = (ball1.tempx - xc)/(ball1.tempx - ball1.clip.x);
			yc = ball1.tempy - otn*(ball1.tempy - ball1.clip.y);
			ball1.tempx = xc;
			ball1.tempy = yc;
			ball1.xmov *= -1;
			ball1.xmov -= 0.5;
			ball1.ymov *= 1.1;
			pc.speed *= 1.09;
			board.speed *= 0.99;
 
		} else {
			ball1.live = false;
		}
	}
}
 
//рисуем шар
function render () {
	ball.clip.x = ball1.tempx;
	ball.clip.y = ball1.tempy;
}
 
function ef (e:Event) {
	moveBalls ();
	board_player ();
	board_pc ();
	detection ();
	board_ball_detect ();
	render ();
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.