Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Module10- QTZoo/Source/MapPane.java
import java.awt.*; |
import java.awt.event.*; |
import java.io.*; |
import java.util.Hashtable; |
import quicktime.*; |
import quicktime.qd.*; |
import quicktime.std.*; |
import quicktime.io.*; |
import quicktime.sound.*; |
import quicktime.std.image.*; |
import quicktime.std.music.*; |
import quicktime.std.movies.*; |
import quicktime.util.*; |
import quicktime.app.display.*; |
import quicktime.app.image.*; |
import quicktime.app.anim.*; |
import quicktime.app.actions.*; |
import quicktime.app.audio.*; |
import quicktime.app.event.QTActionEvent; |
import quicktime.app.event.QTActionListener; |
import quicktime.app.event.QTMouseTargetController; |
import quicktime.app.QTFactory; |
import quicktime.std.movies.media.DataRef; |
import quicktime.app.players.QTPlayer; |
/** |
* QTZoo Module 8 - Using QuickTime Transitions |
* This sample requires QuickTime for Java 4.1 |
* |
* The Map pane that contains the main map interface |
* |
* @author Levi Brown |
* @author Michael Hopkins |
* @author Apple Computer, Inc. |
* @version 8.0 10/21/1999 |
* Copyright: © Copyright 1999 Apple Computer, Inc. All rights reserved. |
* |
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. |
* ("Apple") in consideration of your agreement to the following terms, and your |
* use, installation, modification or redistribution of this Apple software |
* constitutes acceptance of these terms. If you do not agree with these terms, |
* please do not use, install, modify or redistribute this Apple software. |
* |
* In consideration of your agreement to abide by the following terms, and subject |
* to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs |
* copyrights in this original Apple software (the "Apple Software"), to use, |
* reproduce, modify and redistribute the Apple Software, with or without |
* modifications, in source and/or binary forms; provided that if you redistribute |
* the Apple Software in its entirety and without modifications, you must retain |
* this notice and the following text and disclaimers in all such redistributions of |
* the Apple Software. Neither the name, trademarks, service marks or logos of |
* Apple Computer, Inc. may be used to endorse or promote products derived from the |
* Apple Software without specific prior written permission from Apple. Except as |
* expressly stated in this notice, no other rights or licenses, express or implied, |
* are granted by Apple herein, including but not limited to any patent rights that |
* may be infringed by your derivative works or by other works in which the Apple |
* Software may be incorporated. |
* |
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO |
* WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED |
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
* PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN |
* COMBINATION WITH YOUR PRODUCTS. |
* |
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE |
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION |
* OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT |
* (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN |
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
* |
* |
*/ |
public class MapPane extends ZooPane |
{ |
public MapPane( ) |
{ |
try |
{ |
QDRect size = new QDRect(MainFrame.WIDTH, MainFrame.HEIGHT); |
QDGraphics gw = new QDGraphics (size); |
compositor = new Compositor (gw, QDColor.white, 20, 1); |
QTFile waterPict = new QTFile (QTFactory.findAbsolutePath ("data/map/water.pict")); |
GraphicsImporterDrawer waterDrawer = new GraphicsImporterDrawer(waterPict); |
waterDrawer.setDisplayBounds (size); |
ImagePresenter water = ImagePresenter.fromGraphicsImporterDrawer(waterDrawer); |
compositor.addMember(water, 6); |
QTFile islandFile = new QTFile( QTFactory.findAbsolutePath( "data/map/island.pict" )); |
ImagePresenter islandPresenter = ImagePresenter.fromFile( islandFile ); |
ImageDataSequence islandDS = new ImageDataSequence (islandPresenter.getDescription()); |
islandDS.addMember( islandPresenter.getImage() ); |
if ((QTSession.isCurrentOS(QTSession.kWin32) && QTSession.getQTMajorVersion() == 3) == false) //doesn't work on QT3.0.2 on Win |
islandDS = ImageUtil.makeTransparent ( islandDS, QDColor.white ); |
Matrix theMatrix = new Matrix(); |
theMatrix.translate( (float) 10, (float) 5 ); |
TwoDSprite island = new TwoDSprite( islandDS, theMatrix, true, 2 ); |
compositor.addMember(island, 4); |
ctr = new QTMouseTargetController( false ); |
ctr.addQTMouseListener( new PaneMouseListener( QDColor.lightGray, QDColor.white, QDColor.darkGray )); |
compositor.addController (ctr); |
ctr.addMember( island ); |
TwoDSprite currentSprite; |
areas = new Hashtable(6); |
} |
catch (Exception e) |
{ |
e.printStackTrace(); |
} |
} |
/** |
* Called to do any setup after being set as the client of the QTCanvas. |
* May be used to start effects running, movies playing, etc. |
*/ |
public void start() |
{ |
} |
/** |
* Called to do clean up after being removed as the client of the QTCanvas. |
* Should be used to stop effects running, movies playing, etc. |
*/ |
public void stop() |
{ |
} |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14