![]() |
|
||||||||||
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
trace на события клика - результат: ничего
Цитата:
? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Боже мой, у вас же пришло событие, там есть ссылка на поверхность, у поверхности ссылка на материал. Разбирайтесь уже в коде, в конце-концов.
Я ковыряться с pv3d ради вашего кода не буду, ибо лень. |
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
ок
но вот только скажите такие странности часто встречаются во флеш? А то я Рубикодер |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Какие странности?
|
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Эти!
Когда весь код правилен вроде бы? Лист статуса компилирования чист, а при использовании проекта замечается что ссылки не работают.. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А что, руби такой крутой язык, что в состоянии понять, что от него хочет разработчик, предугадывает его действия и заранее вываливает ошибку? Если в коде нет синтаксической ошибки и нет ошибок при выполнении, это вовсе не означает, что он будет работать ровно так, как планировалось. А не работает он так, как планировалось, потому что разработчик (в данном случае вы) не до конца понимает суть кода, который пишет или не понимает, как работать с конкретным фреймворком. Код, написанный наобум, скорее всего работать не будет, о чём и свидетельствует данный топик.
|
|
|||||
|
о ужас .... _etc нужно вручить медаль ... я бы уже давно забил ...
вобщем по делу, что вам мешает разобратся в обьектах, на которые вы вешаете обработку событий, возможно что то их перекрывает, возможно сообщение ставится не правильно, ( хотя не пресдтавляю как это можно сделать ) да и вобще, как вам уже посоветовали, trace всемогущь и тут скорей не страности языка ,а странности вашего понимания мира ,персматрите свое мировозрение на програмирование .. .и еще поделу если хотите реальной помощи, приведите код обработчиков обьектов ,на которые вы ставите обработку событий ,тогда можно будет более подробно помочь, а так телепаты в отпуск ушли, когда вернутся не сказали ![]()
__________________
на каком языке вы пишите? а на каком нужно? |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
вообще, у BitmapMaterial должен быть
bitmapMaterial.interactive = true; Проверьте, если заработает, напишите пожалуйста. Просто у меня такая же проблема, но bitmapMaterial.interactive = true; стоит, а event, гад, не вызывается. |
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
ПРИВОЖУ КОД СНОВА
package { import flash.display.Bitmap; import flash.events.Event; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.events.MouseEvent; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.view.BasicView; import org.papervision3d.events.InteractiveScene3DEvent; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class CubeWithDifferentSides extends BasicView { [Embed(source="assets/smallgrid.png")] private var backAsset:Class; [Embed(source="assets/smallgrid.png")] private var bottomAsset:Class; [Embed(source="assets/smallgrid.png")] private var frontAsset:Class; [Embed(source="assets/smallgrid.png")] private var leftAsset:Class; [Embed(source="assets/smallgrid.png")] private var rightAsset:Class; [Embed(source="assets/smallgrid.png")] private var topAsset:Class; private var light:PointLight3D; private var cube:Cube; public function CubeWithDifferentSides() { var materialsList:MaterialsList = new MaterialsList(); light = new PointLight3D(); materialsList.addMaterial(createShadedMaterial( new backAsset() ), "back"); materialsList.addMaterial(createShadedMaterial( new bottomAsset() ), "bottom"); materialsList.addMaterial(createShadedMaterial( new frontAsset() ), "front"); materialsList.addMaterial(createShadedMaterial( new leftAsset() ), "left"); materialsList.addMaterial(createShadedMaterial( new rightAsset() ), "right"); materialsList.addMaterial(createShadedMaterial( new topAsset() ), "top"); cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5); cube.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onCubeClick); scene.addChild(cube); startRendering(); } private function createShadedMaterial(bitmap:Bitmap):BitmapMaterial { return new BitmapMaterial(bitmap.bitmapData, true); } override protected function onRenderTick(event:Event=null):void { cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1; cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1; renderer.renderScene(scene, camera, viewport); } private function onCubeClick(e:InteractiveScene3DEvent):void { trace("It is not working..."); } } } |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
Даж не знаю. я бы
createShadedMaterial( new backAsset() ) заменил на var bitmapMaterial:BitmapMaterial = new BitmapFileMaterial("assets/smallgrid.png", true); bitmapMaterial.interactive = true; Можно использовать [Embed(source="assets/smallgrid.png")], тогда я бы делал materialsList.addMaterial(BitmapMaterial( new backAsset(), false), "back"); Я не уверен сейчас в суждениях ибо не проверял... но всё же... Вот ещё хорошие уроки: http://blog.tartiflop.com/first-steps-in-papervision3d/ |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|