Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка 1046: Type was not found or was not a compile-time constant (http://www.flasher.ru/forum/showthread.php?t=207379)

klevec 13.04.2014 21:36

Ошибка 1046: Type was not found or was not a compile-time constant
 
В общем, я недавно только начал учиться. Подскажите, в чём может быть ошибка.

1046: Type was not found or was not a compile-time constant: sperm

[IMG]http://*****/v607930459/4240/-Y8QdyN3Md4.jpg[/IMG]
[IMG]http://*****/v607930459/4249/VQ1rKn0Rs38.jpg[/IMG]

Быть может это import конфликтует?

mooncar 13.04.2014 21:46

klevec, скриншоты нужно прикреплять к сообщению. Исправьте.

Akopalipsis 13.04.2014 22:00

Зрение у всех хоть и хорошее, но не видно, вставьте код в сообщение и строчку с ошибкой пометьте коментами.

ZackMercury 13.04.2014 22:04

Строка 23, sperm() -> new sperm()

klevec 13.04.2014 23:15

SuriTheAnger, не помогло

Код AS1/AS2:

import flash.events.KeyboardEvent;
import flash.events.Event;
 
var up:Boolean = false;
var down:Boolean = false;
var left:Boolean = false;
var right:Boolean = false;
var kadr = 0;
 
var board = {};
board.clip = egg;
board.speed = 10;
board.w = board.clip.width;
board.h = board.clip.height;
 
stage.addEventListener (KeyboardEvent.KEY_DOWN, kd);
stage.addEventListener (KeyboardEvent.KEY_UP, ku);
stage.addEventListener (Event.ENTER_FRAME, ef);
stage.addEventListener (Event.ENTER_FRAME, sp);
 
function sp (e:Event) {
        //сперма
var sperm = sperm();
sperm.x = Math.random()*600;
sperm.y = 100;
sperm.xmov = Math.random ()*2-1;
sperm.ymov = 3+ Math.random ()*6;
addChild(sperm);
}
 
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 ef (e:Event) {
board_player ();
}


caseyryan 14.04.2014 11:14

кэп мне тут подсказывает, что не может название класса совпадать с названием переменной.
Классы надо называть с большой буквы, а переменные с маленькой, чтобы таких недоразумений не возникало

Здесь можно исправить заменив название перменной, хотя бы так:
Код AS3:

var koncha:sperm = new sperm();
koncha.x = Math.random()*600;
koncha.y = 100;
koncha.xmov = Math.random ()*2-1;
koncha.ymov = 3+ Math.random ()*6;
addChild(koncha);

п.с. порнуха какая-то, а не тема :D

klevec 14.04.2014 11:17

Код AS1/AS2:

var sperm = sperm();
sperm.x = Math.random()*600;
sperm.y = 100;
sperm.xmov = Math.random ()*2-1;
sperm.ymov = 3+ Math.random ()*6;
addChild(sperm);
}

То есть проблема здесь?

И нужно сделать так:
Код AS1/AS2:

var sperm = sperma();
sperma.x = Math.random()*600;
sperma.y = 100;
sperma.xmov = Math.random ()*2-1;
sperma.ymov = 3+ Math.random ()*6;
addChild(sperma);
}

Но это не помогает.

caseyryan 14.04.2014 11:22

Цитата:

Сообщение от klevec (Сообщение 1163570)
Код AS1/AS2:

var sperm = sperm();
sperm.x = Math.random()*600;
sperm.y = 100;
sperm.xmov = Math.random ()*2-1;
sperm.ymov = 3+ Math.random ()*6;
addChild(sperm);
}

То есть проблема здесь?

И нужно сделать так:
Код AS1/AS2:

var sperm = new sperma();
sperma.x = Math.random()*600;
sperma.y = 100;
sperma.xmov = Math.random ()*2-1;
sperma.ymov = 3+ Math.random ()*6;
addChild(sperma);
}

Но это не помогает.

http://motivpic.ru/users-data/pics/1...epalm-6b27.jpg

Код AS3:

var sperma = new sperm();
sperma.x = Math.random()*600;
sperma.y = 100;
sperma.xmov = Math.random ()*2-1;
sperma.ymov = 3+ Math.random ()*6;
addChild(sperma);


klevec 14.04.2014 12:46

Цитата:

Сообщение от caseyryan (Сообщение 1163572)
http://motivpic.ru/users-data/pics/1...epalm-6b27.jpg

Код AS3:

var sperma = new sperm();
sperma.x = Math.random()*600;
sperma.y = 100;
sperma.xmov = Math.random ()*2-1;
sperma.ymov = 3+ Math.random ()*6;
addChild(sperma);


Ошибка 1046. Всё то же самое.

caseyryan 14.04.2014 12:53

Вариантов тут может быть 2:
1) Класс лежит не в корневой директории, и его нужно импортировать
2) Название класса написано не правильно


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

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